@@ -890,8 +890,9 @@ func TestLinuxPatchAppConfigValues(t *testing.T) {
890
890
// Decode and verify request body
891
891
var req types.PatchAppConfigValuesRequest
892
892
err := json .NewDecoder (r .Body ).Decode (& req )
893
- require .NoError (t , err )
893
+ require .NoError (t , err , "Failed to decode request body" )
894
894
assert .Equal (t , "new-value" , req .Values ["test-item" ])
895
+ assert .Equal (t , "required-value" , request .Values ["required-item" ])
895
896
896
897
// Return successful response
897
898
w .WriteHeader (http .StatusOK )
@@ -901,35 +902,36 @@ func TestLinuxPatchAppConfigValues(t *testing.T) {
901
902
902
903
// Test successful set
903
904
c := New (server .URL , WithToken ("test-token" ))
904
- values := map [string ]string {
905
- "test-item" : "new-value" ,
905
+ configValues := map [string ]string {
906
+ "test-item" : "new-value" ,
907
+ "required-item" : "required-value" ,
906
908
}
907
- config , err := c .PatchLinuxAppConfigValues (values )
908
- assert .NoError (t , err )
909
+ config , err := c .PatchLinuxAppConfigValues (configValues )
910
+ require .NoError (t , err )
909
911
assert .Equal (t , expectedConfig , config )
910
912
911
913
// Test error response
912
914
errorServer := httptest .NewServer (http .HandlerFunc (func (w http.ResponseWriter , r * http.Request ) {
913
- w .WriteHeader (http .StatusInternalServerError )
915
+ w .WriteHeader (http .StatusBadRequest )
914
916
json .NewEncoder (w ).Encode (types.APIError {
915
- StatusCode : http .StatusInternalServerError ,
916
- Message : "Internal Server Error " ,
917
+ StatusCode : http .StatusBadRequest ,
918
+ Message : "Bad Request " ,
917
919
})
918
920
}))
919
921
defer errorServer .Close ()
920
922
921
923
c = New (errorServer .URL , WithToken ("test-token" ))
922
- config , err = c .PatchLinuxAppConfigValues (values )
924
+ config , err = c .PatchLinuxAppConfigValues (configValues )
923
925
assert .Error (t , err )
924
926
assert .Equal (t , types.AppConfig {}, config )
925
927
926
928
apiErr , ok := err .(* types.APIError )
927
929
require .True (t , ok , "Expected err to be of type *types.APIError" )
928
- assert .Equal (t , http .StatusInternalServerError , apiErr .StatusCode )
929
- assert .Equal (t , "Internal Server Error " , apiErr .Message )
930
+ assert .Equal (t , http .StatusBadRequest , apiErr .StatusCode )
931
+ assert .Equal (t , "Bad Request " , apiErr .Message )
930
932
}
931
933
932
- func TestKubernetesPatchAppConfigValues (t * testing.T ) {
934
+ func TestKubernetesSetAppConfigValues (t * testing.T ) {
933
935
// Define expected config once
934
936
expectedConfig := types.AppConfig {
935
937
Groups : []kotsv1beta1.ConfigGroup {
@@ -951,17 +953,23 @@ func TestKubernetesPatchAppConfigValues(t *testing.T) {
951
953
952
954
// Create a test server
953
955
server := httptest .NewServer (http .HandlerFunc (func (w http.ResponseWriter , r * http.Request ) {
956
+ // Check request method and path
954
957
assert .Equal (t , "PATCH" , r .Method )
955
958
assert .Equal (t , "/api/kubernetes/install/app/config/values" , r .URL .Path )
959
+ assert .Equal (t , "Bearer test-token" , r .Header .Get ("Authorization" ))
956
960
961
+ // Check headers
957
962
assert .Equal (t , "application/json" , r .Header .Get ("Content-Type" ))
958
963
assert .Equal (t , "Bearer test-token" , r .Header .Get ("Authorization" ))
959
964
960
- // Decode and verify request body
961
- var req types.PatchAppConfigValuesRequest
962
- err := json .NewDecoder (r .Body ).Decode (& req )
963
- require .NoError (t , err )
964
- assert .Equal (t , "new-value" , req .Values ["test-item" ])
965
+ // Decode request body
966
+ var request types.SetAppConfigValuesRequest
967
+ err := json .NewDecoder (r .Body ).Decode (& request )
968
+ require .NoError (t , err , "Failed to decode request body" )
969
+
970
+ // Verify the request contains expected values
971
+ assert .Equal (t , "new-value" , request .Values ["test-item" ])
972
+ assert .Equal (t , "required-value" , request .Values ["required-item" ])
965
973
966
974
// Return successful response
967
975
w .WriteHeader (http .StatusOK )
@@ -971,30 +979,31 @@ func TestKubernetesPatchAppConfigValues(t *testing.T) {
971
979
972
980
// Test successful set
973
981
c := New (server .URL , WithToken ("test-token" ))
974
- values := map [string ]string {
975
- "test-item" : "new-value" ,
982
+ configValues := map [string ]string {
983
+ "test-item" : "new-value" ,
984
+ "required-item" : "required-value" ,
976
985
}
977
- config , err := c .PatchKubernetesAppConfigValues (values )
986
+ config , err := c .PatchKubernetesAppConfigValues (configValues )
978
987
assert .NoError (t , err )
979
988
assert .Equal (t , expectedConfig , config )
980
989
981
990
// Test error response
982
991
errorServer := httptest .NewServer (http .HandlerFunc (func (w http.ResponseWriter , r * http.Request ) {
983
- w .WriteHeader (http .StatusInternalServerError )
992
+ w .WriteHeader (http .StatusBadRequest )
984
993
json .NewEncoder (w ).Encode (types.APIError {
985
- StatusCode : http .StatusInternalServerError ,
986
- Message : "Internal Server Error " ,
994
+ StatusCode : http .StatusBadRequest ,
995
+ Message : "Bad Request " ,
987
996
})
988
997
}))
989
998
defer errorServer .Close ()
990
999
991
1000
c = New (errorServer .URL , WithToken ("test-token" ))
992
- config , err = c .PatchKubernetesAppConfigValues (values )
1001
+ config , err = c .PatchKubernetesAppConfigValues (configValues )
993
1002
assert .Error (t , err )
994
1003
assert .Equal (t , types.AppConfig {}, config )
995
1004
996
1005
apiErr , ok := err .(* types.APIError )
997
1006
require .True (t , ok , "Expected err to be of type *types.APIError" )
998
- assert .Equal (t , http .StatusInternalServerError , apiErr .StatusCode )
999
- assert .Equal (t , "Internal Server Error " , apiErr .Message )
1007
+ assert .Equal (t , http .StatusBadRequest , apiErr .StatusCode )
1008
+ assert .Equal (t , "Bad Request " , apiErr .Message )
1000
1009
}
0 commit comments