Skip to content

Commit 92a0f8e

Browse files
committed
test(label-cmd): add new label cmd test
1 parent bc4f452 commit 92a0f8e

1 file changed

Lines changed: 52 additions & 0 deletions

File tree

rootfs/api/tests/test_app_settings.py

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -265,3 +265,55 @@ def test_autoscale_validations(self, mock_requests):
265265
{'autoscale': {'cmd': {'min': 4, 'cpu_percent': 45}}}
266266
)
267267
self.assertEqual(response.status_code, 400, response.data)
268+
269+
def test_settings_labels(self, mock_requests):
270+
"""
271+
Test that labels can be applied
272+
"""
273+
app_id = self.create_app()
274+
275+
# create
276+
base_labels = {
277+
'label':
278+
{
279+
'git_repo': 'https://github.com/deis/controller',
280+
'team': 'frontend',
281+
'empty': ''
282+
}
283+
}
284+
response = self.client.post(
285+
'/v2/apps/{app_id}/settings'.format(**locals()),
286+
base_labels
287+
)
288+
self.assertEqual(response.status_code, 201, response.data)
289+
self.assertEqual(response.data['label'], base_labels['label'])
290+
291+
# update
292+
labels = {'label': {'team': 'backend'}}
293+
response = self.client.post(
294+
'/v2/apps/{app_id}/settings'.format(**locals()),
295+
labels
296+
)
297+
self.assertEqual(response.status_code, 201, response.data)
298+
self.assertEqual(response.data['label']['team'], labels['label']['team'])
299+
self.assertEqual(response.data['label']['git_repo'], base_labels['label']['git_repo'])
300+
self.assertEqual(response.data['label']['empty'], base_labels['label']['empty'])
301+
302+
# remove
303+
labels = {'label': {'git_repo': None}}
304+
response = self.client.post(
305+
'/v2/apps/{app_id}/settings'.format(**locals()),
306+
labels
307+
)
308+
self.assertEqual(response.status_code, 201, response.data)
309+
self.assertEqual(response.data['label']['team'], 'backend')
310+
self.assertFalse('git_repo' in response.data['label'])
311+
self.assertEqual(response.data['label']['empty'], base_labels['label']['empty'])
312+
313+
# error on remove non-exist label
314+
labels = {'label': {'git_repo': None}}
315+
response = self.client.post(
316+
'/v2/apps/{app_id}/settings'.format(**locals()),
317+
labels
318+
)
319+
self.assertEqual(response.status_code, 422, response.data)

0 commit comments

Comments
 (0)