1
0
mirror of https://github.com/SAP/jenkins-library.git synced 2024-12-12 10:55:20 +02:00
sap-jenkins-library/pkg/terraform/terraform_test.go
Jk1484 ffc931aad1
feat(golangBuild): use 'unit' build tag to include tests during test execution (#4345)
* Added unit tag as argument. Added description to runTests command. Changed code generator to have unit build tag in generated unit test files.

* Added unit build tag to all unit test files.

* added to new unit test unit build tag

* Update verify-go.yml

* small fix

---------

Co-authored-by: Muhammadali Nazarov <Muhammadali.Nazarov@acronis.com>
Co-authored-by: Christopher Fenner <26137398+CCFenner@users.noreply.github.com>
2023-05-03 21:02:11 +05:00

121 lines
1.8 KiB
Go

//go:build unit
// +build unit
package terraform
import (
"github.com/stretchr/testify/assert"
"testing"
)
func TestReadOutputs(t *testing.T) {
terraformOutputsJson := `{
"boolean": {
"sensitive": false,
"type": "bool",
"value": true
},
"list_any": {
"sensitive": false,
"type": [
"tuple",
[
"bool",
"string",
"number",
[
"tuple",
[]
]
]
],
"value": [
true,
"2",
3,
[]
]
},
"list_numbers": {
"sensitive": false,
"type": [
"tuple",
[
"number",
"number",
"number"
]
],
"value": [
1,
2,
3
]
},
"list_string": {
"sensitive": false,
"type": [
"tuple",
[
"string",
"string",
"string"
]
],
"value": [
"1",
"2",
"3"
]
},
"map": {
"sensitive": false,
"type": [
"object",
{
"ATTR1": "string",
"ATTR2": [
"object",
{
"ATTR3": [
"tuple",
[]
]
}
]
}
],
"value": {
"ATTR1": "",
"ATTR2": {
"ATTR3": []
}
}
},
"secret": {
"sensitive": true,
"type": "string",
"value": "this-could-be-a-password"
},
"string": {
"sensitive": false,
"type": "string",
"value": "string"
},
"number": {
"sensitive": false,
"type": "number",
"value": 1
}
}
`
outputs, err := ReadOutputs(terraformOutputsJson)
assert.NoError(t, err)
assert.Equal(t, 8, len(outputs))
assert.Equal(t, true, outputs["boolean"])
assert.Equal(t, "string", outputs["string"])
assert.Equal(t, float64(1), outputs["number"])
}