def test_delete_device(self, management_api, devices): # try delete an existing device, verify decommissioning workflow was started # setup single device and poke devauth dev, _ = devices[0] ourdev = management_api.get_single_device() assert ourdev with orchestrator.run_fake_for_device_id(ourdev.id) as server: rsp = management_api.delete_device( ourdev.id, { "X-MEN-RequestID": "delete_device", "Authorization": "Bearer foobar", }, ) print("decommission request finished with status:", rsp.status_code) assert rsp.status_code == 204 found = None status_code = None try: found = management_api.get_device(id=ourdev.id) except bravado.exception.HTTPError as e: status_code = e.response.status_code assert status_code == 404 assert not found
def test_delete_device_ochestrator_failure(self, management_api, devices): # try delete an existing device, verify it is failing when orchestrator # is failing dev, _ = devices[0] ourdev = management_api.get_single_device() assert ourdev with orchestrator.run_fake_for_device_id(ourdev.id, 500) as server: rsp = management_api.delete_device( ourdev.id, { 'X-MEN-RequestID': 'delete_device', 'Authorization': 'Bearer foobar', }) print('decommission request finished with status:', rsp.status_code) assert rsp.status_code == 500
def test_delete_device(self, management_api, devices): # try delete an existing device, verify decommissioning workflow was started # setup single device and poke devauth dev, _ = devices[0] ourdev = management_api.find_device_by_identity(dev.identity) assert ourdev try: with orchestrator.run_fake_for_device_id(ourdev.id) as server: rsp = management_api.delete_device( ourdev.id, { 'X-MEN-RequestID': 'delete_device', 'Authorization': 'Bearer foobar', }) print('decommission request finished with status:', rsp.status_code) except bravado.exception.HTTPError as e: assert e.response.status_code == 204 found = management_api.find_device_by_identity(dev.identity) assert not found
def test_delete_device(self, management_api, devices): # try delete an existing device, verify decommissioning workflow was started # setup single device and poke devauth dev, _ = devices[0] ourdev = management_api.find_device_by_identity(dev.identity) assert ourdev # handler for orchestrator's job endpoint def decommission_device_handler(request): dreq = json.loads(request.body.decode()) print('decommision request', dreq) # verify that devauth tries to decommision correct device assert dreq.get('device_id', None) == ourdev.id # test is enforcing particular request ID assert dreq.get('request_id', None) == 'delete_device' # test is enforcing particular request ID assert dreq.get('authorization', None) == 'Bearer foobar' return (200, {}, '') handlers = [ ('POST', '/api/workflow/decommission_device', decommission_device_handler), ] with mockserver.run_fake(get_fake_orchestrator_addr(), handlers=handlers) as server: rsp = management_api.delete_device( ourdev.id, { 'X-MEN-RequestID': 'delete_device', 'Authorization': 'Bearer foobar', }) print('decommission request finished with status:', rsp.status_code) assert rsp.status_code == 204 found = management_api.find_device_by_identity(dev.identity) assert not found
def test_delete_device_nonexistent(self, management_api): # try delete a nonexistent device rsp = management_api.delete_device("some-devid-foo") assert rsp.status_code == 404
def test_delete_device_nonexistent(self, management_api): # try delete a nonexistent device try: management_api.delete_device('some-devid-foo') except bravado.exception.HTTPError as e: assert e.response.status_code == 404