Skip to content
This repository was archived by the owner on Mar 13, 2022. It is now read-only.

Commit 59c7851

Browse files
committed
Support customizing “Accept” header and added a testcase to test custom header
1 parent 8a969ee commit 59c7851

File tree

2 files changed

+16
-3
lines changed

2 files changed

+16
-3
lines changed

Diff for: dynamic/client.py

+4-2
Original file line numberDiff line numberDiff line change
@@ -219,8 +219,10 @@ def request(self, method, path, body=None, **params):
219219
header_params = params.get('header_params', {})
220220
form_params = []
221221
local_var_files = {}
222-
# HTTP header `Accept`
223-
header_params['Accept'] = self.client.select_header_accept([
222+
223+
# User didn't specify the Accept header. Default it to json and yaml.
224+
if not 'Accept' in header_params.keys():
225+
header_params['Accept'] = self.client.select_header_accept([
224226
'application/json',
225227
'application/yaml',
226228
])

Diff for: dynamic/test_client.py

+12-1
Original file line numberDiff line numberDiff line change
@@ -359,11 +359,22 @@ def test_configmap_apis(self):
359359

360360
resp = api.get(namespace='default', pretty=True, label_selector="e2e-test=true")
361361
self.assertEqual([], resp.items)
362-
362+
363363
def test_node_apis(self):
364364
client = DynamicClient(api_client.ApiClient(configuration=self.config))
365365
api = client.resources.get(api_version='v1', kind='Node')
366366

367367
for item in api.get().items:
368368
node = api.get(name=item.metadata.name)
369369
self.assertTrue(len(dict(node.metadata.labels)) > 0)
370+
371+
# test_node_apis_partial_object_metadata lists all nodes in the cluster, but only retrieves object metadata
372+
def test_node_apis_partial_object_metadata(self):
373+
client = DynamicClient(api_client.ApiClient(configuration=self.config))
374+
api = client.resources.get(api_version='v1', kind='Node')
375+
376+
params = {'header_params': {'Accept': 'application/json;as=PartialObjectMetadataList;v=v1;g=meta.k8s.io'}}
377+
resp = api.get(**params)
378+
self.assertEqual('PartialObjectMetadataList', resp.kind)
379+
self.assertEqual('meta.k8s.io/v1', resp.apiVersion)
380+

0 commit comments

Comments
 (0)