(t *testing.T)
| 174 | } |
| 175 | |
| 176 | func TestGetServerResources(t *testing.T) { |
| 177 | stable := metav1.APIResourceList{ |
| 178 | GroupVersion: "v1", |
| 179 | APIResources: []metav1.APIResource{ |
| 180 | {Name: "pods", Namespaced: true, Kind: "Pod"}, |
| 181 | {Name: "services", Namespaced: true, Kind: "Service"}, |
| 182 | {Name: "namespaces", Namespaced: false, Kind: "Namespace"}, |
| 183 | }, |
| 184 | } |
| 185 | beta := metav1.APIResourceList{ |
| 186 | GroupVersion: "extensions/v1beta1", |
| 187 | APIResources: []metav1.APIResource{ |
| 188 | {Name: "deployments", Namespaced: true, Kind: "Deployment"}, |
| 189 | {Name: "ingresses", Namespaced: true, Kind: "Ingress"}, |
| 190 | {Name: "jobs", Namespaced: true, Kind: "Job"}, |
| 191 | }, |
| 192 | } |
| 193 | beta2 := metav1.APIResourceList{ |
| 194 | GroupVersion: "extensions/v1beta2", |
| 195 | APIResources: []metav1.APIResource{ |
| 196 | {Name: "deployments", Namespaced: true, Kind: "Deployment"}, |
| 197 | {Name: "ingresses", Namespaced: true, Kind: "Ingress"}, |
| 198 | {Name: "jobs", Namespaced: true, Kind: "Job"}, |
| 199 | }, |
| 200 | } |
| 201 | tests := []struct { |
| 202 | resourcesList *metav1.APIResourceList |
| 203 | path string |
| 204 | request string |
| 205 | expectErr bool |
| 206 | }{ |
| 207 | { |
| 208 | resourcesList: &stable, |
| 209 | path: "/api/v1", |
| 210 | request: "v1", |
| 211 | expectErr: false, |
| 212 | }, |
| 213 | { |
| 214 | resourcesList: &beta, |
| 215 | path: "/apis/extensions/v1beta1", |
| 216 | request: "extensions/v1beta1", |
| 217 | expectErr: false, |
| 218 | }, |
| 219 | { |
| 220 | resourcesList: &stable, |
| 221 | path: "/api/v1", |
| 222 | request: "foobar", |
| 223 | expectErr: true, |
| 224 | }, |
| 225 | } |
| 226 | server := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, req *http.Request) { |
| 227 | var list interface{} |
| 228 | switch req.URL.Path { |
| 229 | case "/api/v1": |
| 230 | list = &stable |
| 231 | case "/apis/extensions/v1beta1": |
| 232 | list = &beta |
| 233 | case "/apis/extensions/v1beta2": |
nothing calls this directly
no test coverage detected