|
1 | 1 | package config |
2 | 2 |
|
3 | 3 | import ( |
| 4 | + "encoding/json" |
| 5 | + "net/http" |
| 6 | + "net/http/httptest" |
4 | 7 | "os" |
5 | 8 | "testing" |
6 | 9 |
|
7 | 10 | "github.com/armosec/armoapi-go/armotypes" |
8 | 11 | "github.com/armosec/utils-k8s-go/armometadata" |
9 | | - "github.com/kubescape/backend/pkg/servicediscovery/schema" |
10 | | - v2 "github.com/kubescape/backend/pkg/servicediscovery/v2" |
| 12 | + v3 "github.com/kubescape/backend/pkg/servicediscovery/v3" |
11 | 13 | pulsarconfig "github.com/kubescape/messaging/pulsar/config" |
12 | 14 | "github.com/kubescape/synchronizer/domain" |
13 | 15 | "github.com/stretchr/testify/assert" |
@@ -121,48 +123,28 @@ func TestLoadConfig(t *testing.T) { |
121 | 123 | } |
122 | 124 |
|
123 | 125 | func TestLoadServiceURLs(t *testing.T) { |
124 | | - tests := []struct { |
125 | | - name string |
126 | | - env map[string]string |
127 | | - filePath string |
128 | | - want schema.IBackendServices |
129 | | - }{ |
130 | | - { |
131 | | - name: "via filePath", |
132 | | - filePath: "../configuration/services.json", |
133 | | - want: &v2.ServicesV2{ |
134 | | - EventReceiverHttpUrl: "https://er-test.com", |
135 | | - EventReceiverWebsocketUrl: "wss://er-test.com", |
136 | | - GatewayUrl: "https://gw.test.com", |
137 | | - ApiServerUrl: "https://api.test.com", |
138 | | - MetricsUrl: "https://metrics.test.com", |
139 | | - SynchronizerUrl: "ws://127.0.0.1:8080", |
| 126 | + srv := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { |
| 127 | + w.Header().Set("Content-Type", "application/json") |
| 128 | + _ = json.NewEncoder(w).Encode(map[string]interface{}{ |
| 129 | + "version": "v3", |
| 130 | + "response": map[string]string{ |
| 131 | + "event-receiver-http": "https://er-test.com", |
| 132 | + "api-server": "https://api.test.com", |
| 133 | + "metrics": "https://metrics.test.com", |
| 134 | + "synchronizer": "ws://127.0.0.1:8080", |
140 | 135 | }, |
141 | | - }, |
142 | | - { |
143 | | - name: "via env", |
144 | | - env: map[string]string{"SERVICES": "../configuration/services.json"}, |
145 | | - want: &v2.ServicesV2{ |
146 | | - EventReceiverHttpUrl: "https://er-test.com", |
147 | | - EventReceiverWebsocketUrl: "wss://er-test.com", |
148 | | - GatewayUrl: "https://gw.test.com", |
149 | | - ApiServerUrl: "https://api.test.com", |
150 | | - MetricsUrl: "https://metrics.test.com", |
151 | | - SynchronizerUrl: "ws://127.0.0.1:8080", |
152 | | - }, |
153 | | - }, |
154 | | - } |
155 | | - for _, tt := range tests { |
156 | | - t.Run(tt.name, func(t *testing.T) { |
157 | | - for k, v := range tt.env { |
158 | | - err := os.Setenv(k, v) |
159 | | - assert.NoError(t, err) |
160 | | - } |
161 | | - got, err := LoadServiceURLs(tt.filePath) |
162 | | - assert.NoError(t, err) |
163 | | - assert.Equal(t, tt.want, got) |
164 | 136 | }) |
165 | | - } |
| 137 | + })) |
| 138 | + defer srv.Close() |
| 139 | + |
| 140 | + got, err := LoadServiceURLs(srv.URL) |
| 141 | + assert.NoError(t, err) |
| 142 | + assert.Equal(t, &v3.ServicesV3{ |
| 143 | + EventReceiverHttpUrl: "https://er-test.com", |
| 144 | + ApiServerUrl: "https://api.test.com", |
| 145 | + MetricsUrl: "https://metrics.test.com", |
| 146 | + SynchronizerUrl: "ws://127.0.0.1:8080", |
| 147 | + }, got) |
166 | 148 | } |
167 | 149 |
|
168 | 150 | func TestResource_String(t *testing.T) { |
|
0 commit comments