tps-cli/internal/properties/properties_test.go
2023-05-01 16:11:30 -05:00

193 lines
14 KiB
Go

package properties
import (
"encoding/json"
"testing"
)
const (
propertyJSON = `{"vcfg:name":"stringProperty","vcfg:value":""}`
collectionJSON = `{
"@context": "https://em5.verint.training/tenant-properties-service/context.jsonld",
"@id": "https://em5.verint.training/tenant-properties-service/default/properties",
"@type": [
"hydra:Collection"
],
"hydra:totalItems": 14,
"hydra:member": [
{
"@id": "https://em5.verint.training/tenant-properties-service/default/properties/conversation-service.initialised",
"@type": [
"vcfg:Property"
],
"vcfg:name": "conversation-service.initialised",
"vcfg:value": "true",
"vcfg:lastModifiedBy": "conversation-service",
"vcfg:lastModifiedDate": "2022-04-08T19:16:08.226"
},
{
"@id": "https://em5.verint.training/tenant-properties-service/default/properties/conversation-service.upload.default.max-number-of-customer-attachments",
"@type": [
"vcfg:Property"
],
"vcfg:name": "conversation-service.upload.default.max-number-of-customer-attachments",
"vcfg:value": "10",
"vcfg:lastModifiedBy": "conversation-service",
"vcfg:lastModifiedDate": "2022-04-08T19:16:08.197"
},
{
"@id": "https://em5.verint.training/tenant-properties-service/default/properties/conversation-service.upload.default.max-number-of-customer-attachments-bytes",
"@type": [
"vcfg:Property"
],
"vcfg:name": "conversation-service.upload.default.max-number-of-customer-attachments-bytes",
"vcfg:value": "100000000",
"vcfg:lastModifiedBy": "conversation-service",
"vcfg:lastModifiedDate": "2022-04-08T19:16:08.224"
},
{
"@id": "https://em5.verint.training/tenant-properties-service/default/properties/conversation-service.upload.default.number-of-customer-attachments-bytes-period-in-minutes",
"@type": [
"vcfg:Property"
],
"vcfg:name": "conversation-service.upload.default.number-of-customer-attachments-bytes-period-in-minutes",
"vcfg:value": "10",
"vcfg:lastModifiedBy": "conversation-service",
"vcfg:lastModifiedDate": "2022-04-08T19:16:08.22"
},
{
"@id": "https://em5.verint.training/tenant-properties-service/default/properties/conversation-service.upload.default.number-of-customer-attachments-period-in-minutes",
"@type": [
"vcfg:Property"
],
"vcfg:name": "conversation-service.upload.default.number-of-customer-attachments-period-in-minutes",
"vcfg:value": "10",
"vcfg:lastModifiedBy": "conversation-service",
"vcfg:lastModifiedDate": "2022-04-08T19:16:08.214"
},
{
"@id": "https://em5.verint.training/tenant-properties-service/default/properties/redaction.patterns.16digitscreditcard.enabled",
"@type": [
"vcfg:Property"
],
"vcfg:name": "redaction.patterns.16digitscreditcard.enabled",
"vcfg:value": "true",
"vcfg:lastModifiedBy": "conversation-service",
"vcfg:lastModifiedDate": "2022-04-08T19:16:08.222"
},
{
"@id": "https://em5.verint.training/tenant-properties-service/default/properties/redaction.patterns.16digitscreditcard.match",
"@type": [
"vcfg:Property"
],
"vcfg:name": "redaction.patterns.16digitscreditcard.match",
"vcfg:value": "(?<!\\d)((?:\\d){4})([ -]*?)((?:\\d){4})\\2((?:\\d){4})\\2((?:\\d){4})(?!\\d)",
"vcfg:lastModifiedBy": "conversation-service",
"vcfg:lastModifiedDate": "2022-04-08T19:16:08.212"
},
{
"@id": "https://em5.verint.training/tenant-properties-service/default/properties/redaction.patterns.16digitscreditcard.replacement",
"@type": [
"vcfg:Property"
],
"vcfg:name": "redaction.patterns.16digitscreditcard.replacement",
"vcfg:value": "****-****-****-$5",
"vcfg:lastModifiedBy": "conversation-service",
"vcfg:lastModifiedDate": "2022-04-08T19:16:06.543"
},
{
"@id": "https://em5.verint.training/tenant-properties-service/default/properties/redaction.patterns.initialised",
"@type": [
"vcfg:Property"
],
"vcfg:name": "redaction.patterns.initialised",
"vcfg:value": "true",
"vcfg:lastModifiedBy": "conversation-service",
"vcfg:lastModifiedDate": "2022-04-08T19:16:08.216"
},
{
"@id": "https://em5.verint.training/tenant-properties-service/default/properties/redaction.patterns.usssn.enabled",
"@type": [
"vcfg:Property"
],
"vcfg:name": "redaction.patterns.usssn.enabled",
"vcfg:value": "true",
"vcfg:lastModifiedBy": "conversation-service",
"vcfg:lastModifiedDate": "2022-04-08T19:16:08.21"
},
{
"@id": "https://em5.verint.training/tenant-properties-service/default/properties/redaction.patterns.usssn.match",
"@type": [
"vcfg:Property"
],
"vcfg:name": "redaction.patterns.usssn.match",
"vcfg:value": "(?<!\\d)((?:\\d){3})([ -]*?)((?:\\d){2})\\2((?:\\d){4})(?!\\d)",
"vcfg:lastModifiedBy": "conversation-service",
"vcfg:lastModifiedDate": "2022-04-08T19:16:08.208"
},
{
"@id": "https://em5.verint.training/tenant-properties-service/default/properties/redaction.patterns.usssn.replacement",
"@type": [
"vcfg:Property"
],
"vcfg:name": "redaction.patterns.usssn.replacement",
"vcfg:value": "***-**-$4",
"vcfg:lastModifiedBy": "conversation-service",
"vcfg:lastModifiedDate": "2022-04-08T19:16:08.218"
},
{
"@id": "https://em5.verint.training/tenant-properties-service/default/properties/theme.default.em-enterprise-desktop.application-title",
"@type": [
"vcfg:Property"
],
"vcfg:name": "theme.default.em-enterprise-desktop.application-title",
"vcfg:value": "EM5 Training Environment",
"vcfg:lastModifiedBy": "apiclient",
"vcfg:lastModifiedDate": "2023-01-26T21:12:23.888"
},
{
"@id": "https://em5.verint.training/tenant-properties-service/default/properties/theme.default.logo",
"@type": [
"vcfg:Property"
],
"vcfg:name": "theme.default.logo",
"vcfg:value": "data:image/png;base64,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",
"vcfg:lastModifiedBy": "apiclient",
"vcfg:lastModifiedDate": "2023-01-26T21:12:25.552"
}
],
"hydra:search": {
"@id": "https://em5.verint.training/tenant-properties-service/default/properties?_hydra_id=a0937f9c3e16c84b721e7926735e50610bbd500e8c965d529830ac62b6f33ea2",
"@type": [
"hydra:IriTemplate"
],
"hydra:template": "https://em5.verint.training/tenant-properties-service/default/properties{?q,fields*}",
"hydra:mapping": [
{
"hydra:variable": "q",
"hydra:property": "q",
"hydra:required": false
},
{
"hydra:variable": "fields",
"hydra:property": "fields",
"hydra:required": false
}
]
}
}`
)
func TestCollectionUnMarshalling(t *testing.T) {
var collection Collection
if err := json.Unmarshal([]byte(collectionJSON), &collection); err != nil {
t.Error(err)
}
if collection.TotalItems != 14 {
t.Fatal("collection.TotalItems != 14")
}
}