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_get_device_single(self, management_api, devices): dev, _ = devices[0] # try to find our devices in all devices listing ourdev = management_api.find_device_by_identity(dev.identity) authdev = management_api.get_device(id=ourdev.id) assert authdev == ourdev
def _test_delete_authset_preauth_OK(self, management_api, devices, **kwargs): # preauthorize a device aid = 'aid-preauth' device_id = 'id-preauth' iddata = json.dumps({'mac': 'mac-preauth'}) key = '''-----BEGIN PUBLIC KEY----- MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAzogVU7RGDilbsoUt/DdH VJvcepl0A5+xzGQ50cq1VE/Dyyy8Zp0jzRXCnnu9nu395mAFSZGotZVr+sWEpO3c yC3VmXdBZmXmQdZqbdD/GuixJOYfqta2ytbIUPRXFN7/I7sgzxnXWBYXYmObYvdP okP0mQanY+WKxp7Q16pt1RoqoAd0kmV39g13rFl35muSHbSBoAW3GBF3gO+mF5Ty 1ddp/XcgLOsmvNNjY+2HOD5F/RX0fs07mWnbD7x+xz7KEKjF+H7ZpkqCwmwCXaf0 iyYyh1852rti3Afw4mDxuVSD7sd9ggvYMc0QHIpQNkD4YWOhNiE1AB0zH57VbUYG UwIDAQAB -----END PUBLIC KEY----- ''' req = management_api.make_preauth_req(aid, device_id, iddata, key) _, rsp = management_api.preauthorize(req, **kwargs) assert rsp.status_code == 201 # check device created dev = management_api.get_device(id=device_id, **kwargs) assert dev assert len(dev.auth_sets) == 1 assert dev.auth_sets[0].status == 'preauthorized' assert dev.auth_sets[0].id == aid # delete auth set, check device deleted rsp = management_api.delete_authset(dev.id, aid, **kwargs) assert rsp.status_code == 204 found = None try: found = management_api.get_device(id=device_id, **kwargs) except bravado.exception.HTTPError as e: assert e.response.status_code == 404 assert not found # check all other devices intact after_devs = management_api.list_devices(**kwargs) assert len(after_devs) == len(devices)
def _test_delete_authset_OK(self, management_api, devices, **kwargs): d, da = devices[0] dev = management_api.find_device_by_identity(d.identity, **kwargs) assert dev print('found matching device with ID:', dev.id) aid = dev.auth_sets[0].id rsp = management_api.delete_authset(dev.id, aid, **kwargs) assert rsp.status_code == 204 found = management_api.get_device(id=dev.id, **kwargs) assert found assert len(found.auth_sets) == 0
def _do_test_ok_preauth(self, management_api, device_api, tenant_token=""): d = Device(IDDATA) d.public_key = PUBKEY d.private_key = PRIVKEY da = DevAuthorizer(tenant_token=tenant_token) # get the authset id - need it for the url auth = management_api.make_auth(tenant_token) dbg = management_api.list_devices() print(dbg) dev = management_api.find_device_by_identity(d.identity, **auth) assert dev with devadm_fake_status_update(AID), \ orchestrator.run_fake_for_device_id(DEVID): rsp = device_auth_req(device_api.auth_requests_url, da, d) assert rsp.status_code == 200 dev = management_api.get_device(id=dev.id, **auth) assert dev.auth_sets[0].status == 'accepted'
def test_get_single_device_none(self, management_api): try: management_api.get_device(id='some-devid-foo') except bravado.exception.HTTPError as e: assert e.response.status_code == 404