@@ -18,97 +18,112 @@ package cmd
1818
1919import (
2020 "encoding/json"
21+ "os"
22+ "testing"
23+
2124 "github.com/stretchr/testify/assert"
2225 "kfutil/pkg/cmdtest"
2326 manifestv1 "kfutil/pkg/keyfactor/v1"
24- "os"
25- "testing"
2627)
2728
2829func Test_StoreTypesGet (t * testing.T ) {
29- t .Run ("WithName" , func (t * testing.T ) {
30- testCmd := RootCmd
31-
32- output , err := cmdtest .TestExecuteCommand (t , testCmd , []string {"store-types" , "get" , "--name" , "PEM" , "--debug" }... )
33- if err != nil {
34- t .Fatalf ("Unexpected error: %v" , err )
35- }
36- var storeType map [string ]interface {}
37- if err := json .Unmarshal ([]byte (output ), & storeType ); err != nil {
38- t .Fatalf ("Error unmarshalling JSON: %v" , err )
39- }
40-
41- assert .NotNil (t , storeType ["Name" ], "Expected store type to have a name" )
42- assert .NotNil (t , storeType ["ShortName" ], "Expected store type to have short name" )
43- assert .NotNil (t , storeType ["StoreType" ], "Expected store type to have a store type" )
44-
45- // verify that the store type is an integer
46- _ , ok := storeType ["StoreType" ].(float64 )
47- assert .True (t , ok , "Expected store type to be an integer" )
48- // verify short name is a string
49- _ , ok = storeType ["ShortName" ].(string )
50- assert .True (t , ok , "Expected short name to be a string" )
51- // verify name is a string
52- _ , ok = storeType ["Name" ].(string )
53- assert .True (t , ok , "Expected name to be a string" )
54- // check that shortname == AWS
55- assert .Equal (t , storeType ["ShortName" ], "PEM" , "Expected short name to be PEM" )
56- })
57-
58- t .Run ("GenericOutput" , func (t * testing.T ) {
59- testCmd := RootCmd
60- output , err := cmdtest .TestExecuteCommand (t , testCmd , []string {"store-types" , "get" , "--name" , "PEM" , "-g" , "--debug" }... )
61- if err != nil {
62- t .Fatalf ("Unexpected error: %v" , err )
63- }
64- var storeType map [string ]interface {}
65- if err := json .Unmarshal (output , & storeType ); err != nil {
66- t .Fatalf ("Error unmarshalling JSON: %v" , err )
67- }
68-
69- assert .NotNil (t , storeType ["Name" ], "Expected store type to have a Name" )
70- assert .NotNil (t , storeType ["ShortName" ], "Expected store type to have ShortName" )
71-
72- assert .Nil (t , storeType ["StoreType" ], "Expected StoreType to to be nil" )
73- assert .Nil (t , storeType ["InventoryJobType" ], "Expected InventoryJobType to be nil" )
74- assert .Nil (t , storeType ["InventoryEndpoint" ], "Expected InventoryEndpoint to be nil" )
75- assert .Nil (t , storeType ["ManagementJobType" ], "Expected ManagementJobType to be nil" )
76- assert .Nil (t , storeType ["DiscoveryJobType" ], "Expected DiscoveryJobType to be nil" )
77- assert .Nil (t , storeType ["EnrollmentJobType" ], "Expected EnrollmentJobType to be nil" )
78- assert .Nil (t , storeType ["ImportType" ], "Expected ImportType to be nil" )
79-
80- // verify short name is a string
81- _ , ok := storeType ["ShortName" ].(string )
82- assert .True (t , ok , "Expected short name to be a string" )
83- // verify name is a string
84- _ , ok = storeType ["Name" ].(string )
85- assert .True (t , ok , "Expected name to be a string" )
86- // check that shortname == PEM
87- assert .Equal (t , storeType ["ShortName" ], "PEM" , "Expected short name to be PEM" )
88- })
89-
90- t .Run ("OutputToManifest" , func (t * testing.T ) {
91- testCmd := RootCmd
92- _ , err := cmdtest .TestExecuteCommand (t , testCmd , []string {"store-types" , "get" , "--name" , "PEM" , "--output-to-integration-manifest" , "--debug" }... )
93- if err != nil {
94- t .Fatalf ("Unexpected error: %v" , err )
95- }
96-
97- // Verify that integration-manifest.json was created
98- manifest := manifestv1.IntegrationManifest {}
99- err = manifest .LoadFromFilesystem ()
100- if err != nil {
101- t .Fatalf ("Error loading integration manifest: %v" , err )
102- }
103-
104- if len (manifest .About .Orchestrator .StoreTypes ) != 1 {
105- t .Fatalf ("Expected 1 store type, got %d" , len (manifest .About .Orchestrator .StoreTypes ))
106- }
107-
108- // Clean up
109- err = os .Remove ("integration-manifest.json" )
110- if err != nil {
111- t .Errorf ("Error removing integration-manifest.json: %v" , err )
112- }
113- })
30+ t .Run (
31+ "WithName" , func (t * testing.T ) {
32+ testCmd := RootCmd
33+
34+ output , err := cmdtest .TestExecuteCommand (t , testCmd , []string {"store-types" , "get" , "--name" , "PEM" }... )
35+ if err != nil {
36+ t .Fatalf ("Unexpected error: %v" , err )
37+ }
38+ var storeType map [string ]interface {}
39+ if err := json .Unmarshal ([]byte (output ), & storeType ); err != nil {
40+ t .Fatalf ("Error unmarshalling JSON: %v" , err )
41+ }
42+
43+ assert .NotNil (t , storeType ["Name" ], "Expected store type to have a name" )
44+ assert .NotNil (t , storeType ["ShortName" ], "Expected store type to have short name" )
45+ assert .NotNil (t , storeType ["StoreType" ], "Expected store type to have a store type" )
46+
47+ // verify that the store type is an integer
48+ _ , ok := storeType ["StoreType" ].(float64 )
49+ assert .True (t , ok , "Expected store type to be an integer" )
50+ // verify short name is a string
51+ _ , ok = storeType ["ShortName" ].(string )
52+ assert .True (t , ok , "Expected short name to be a string" )
53+ // verify name is a string
54+ _ , ok = storeType ["Name" ].(string )
55+ assert .True (t , ok , "Expected name to be a string" )
56+ // check that shortname == AWS
57+ assert .Equal (t , storeType ["ShortName" ], "PEM" , "Expected short name to be PEM" )
58+ },
59+ )
60+
61+ t .Run (
62+ "GenericOutput" , func (t * testing.T ) {
63+ testCmd := RootCmd
64+ output , err := cmdtest .TestExecuteCommand (
65+ t ,
66+ testCmd ,
67+ []string {"store-types" , "get" , "--name" , "PEM" , "-g" }... ,
68+ )
69+ if err != nil {
70+ t .Fatalf ("Unexpected error: %v" , err )
71+ }
72+ var storeType map [string ]interface {}
73+ if err := json .Unmarshal (output , & storeType ); err != nil {
74+ t .Fatalf ("Error unmarshalling JSON: %v" , err )
75+ }
76+
77+ assert .NotNil (t , storeType ["Name" ], "Expected store type to have a Name" )
78+ assert .NotNil (t , storeType ["ShortName" ], "Expected store type to have ShortName" )
79+
80+ assert .Nil (t , storeType ["StoreType" ], "Expected StoreType to to be nil" )
81+ assert .Nil (t , storeType ["InventoryJobType" ], "Expected InventoryJobType to be nil" )
82+ assert .Nil (t , storeType ["InventoryEndpoint" ], "Expected InventoryEndpoint to be nil" )
83+ assert .Nil (t , storeType ["ManagementJobType" ], "Expected ManagementJobType to be nil" )
84+ assert .Nil (t , storeType ["DiscoveryJobType" ], "Expected DiscoveryJobType to be nil" )
85+ assert .Nil (t , storeType ["EnrollmentJobType" ], "Expected EnrollmentJobType to be nil" )
86+ assert .Nil (t , storeType ["ImportType" ], "Expected ImportType to be nil" )
87+
88+ // verify short name is a string
89+ _ , ok := storeType ["ShortName" ].(string )
90+ assert .True (t , ok , "Expected short name to be a string" )
91+ // verify name is a string
92+ _ , ok = storeType ["Name" ].(string )
93+ assert .True (t , ok , "Expected name to be a string" )
94+ // check that shortname == PEM
95+ assert .Equal (t , storeType ["ShortName" ], "PEM" , "Expected short name to be PEM" )
96+ },
97+ )
98+
99+ t .Run (
100+ "OutputToManifest" , func (t * testing.T ) {
101+ testCmd := RootCmd
102+ _ , err := cmdtest .TestExecuteCommand (
103+ t ,
104+ testCmd ,
105+ []string {"store-types" , "get" , "--name" , "PEM" , "--output-to-integration-manifest" }... ,
106+ )
107+ if err != nil {
108+ t .Fatalf ("Unexpected error: %v" , err )
109+ }
110+
111+ // Verify that integration-manifest.json was created
112+ manifest := manifestv1.IntegrationManifest {}
113+ err = manifest .LoadFromFilesystem ()
114+ if err != nil {
115+ t .Fatalf ("Error loading integration manifest: %v" , err )
116+ }
117+
118+ if len (manifest .About .Orchestrator .StoreTypes ) != 1 {
119+ t .Fatalf ("Expected 1 store type, got %d" , len (manifest .About .Orchestrator .StoreTypes ))
120+ }
121+
122+ // Clean up
123+ err = os .Remove ("integration-manifest.json" )
124+ if err != nil {
125+ t .Errorf ("Error removing integration-manifest.json: %v" , err )
126+ }
127+ },
128+ )
114129}
0 commit comments