def test_registration_result_instantiated_correctly(self): fake_registration_state = RegistrationState( fake_device_id, fake_assigned_hub, fake_sub_status, fake_created_dttm, fake_last_update_dttm, fake_etag, ) registration_result = RegistrationResult(fake_request_id, fake_operation_id, fake_status, fake_registration_state) assert registration_result.request_id == fake_request_id assert registration_result.operation_id == fake_operation_id assert registration_result.status == fake_status assert registration_result.registration_state == fake_registration_state assert registration_result.registration_state.device_id == fake_device_id assert registration_result.registration_state.assigned_hub == fake_assigned_hub assert registration_result.registration_state.sub_status == fake_sub_status assert registration_result.registration_state.created_date_time == fake_created_dttm assert registration_result.registration_state.last_update_date_time == fake_last_update_dttm assert registration_result.registration_state.etag == fake_etag
def _form_complete_result(operation_id, decoded_response, status): """ Create the registration result from the complete decoded json response for details regarding the registration process. """ decoded_state = get_optional_element(decoded_response, "registrationState") registration_state = None if decoded_state is not None: registration_state = RegistrationState( device_id=get_optional_element(decoded_state, "deviceId"), assigned_hub=get_optional_element(decoded_state, "assignedHub"), sub_status=get_optional_element(decoded_state, "substatus"), created_date_time=get_optional_element(decoded_state, "createdDateTimeUtc"), last_update_date_time=get_optional_element( decoded_state, "lastUpdatedDateTimeUtc"), etag=get_optional_element(decoded_state, "etag"), payload=get_optional_element(decoded_state, "payload"), ) registration_result = RegistrationResult( operation_id=operation_id, status=status, registration_state=registration_state) return registration_result
def test_some_properties_of_result_are_not_settable(): registration_result = RegistrationResult("RequestId123", "Operation456", "emitted", None) with pytest.raises(AttributeError, match="can't set attribute"): registration_result.request_id = "MyNimbus2000" registration_result.operation_id = "WhompingWillow" registration_result.status = "Flying" registration_result.registration_state = "FakeRegistrationState"
def _form_complete_result(operation_id, decoded_response, status): """ Create the registration result from the complete decoded json response for details regarding the registration process. """ decoded_state = decoded_response.get("registrationState", None) registration_state = None if decoded_state is not None: registration_state = RegistrationState( device_id=decoded_state.get("deviceId", None), assigned_hub=decoded_state.get("assignedHub", None), sub_status=decoded_state.get("substatus", None), created_date_time=decoded_state.get("createdDateTimeUtc", None), last_update_date_time=decoded_state.get("lastUpdatedDateTimeUtc", None), etag=decoded_state.get("etag", None), payload=decoded_state.get("payload", None), ) registration_result = RegistrationResult( operation_id=operation_id, status=status, registration_state=registration_state ) return registration_result
def _decode_complete_json_response(self, query_result, response): """ Decodes the complete json response for details regarding the registration process. :param query_result: The partially formed result. :param response: The complete response from the service """ decoded_result = json.loads(response) decoded_state = (None if "registrationState" not in decoded_result else decoded_result["registrationState"]) registration_state = None if decoded_state is not None: # Everything needs to be converted to string explicitly for python 2 # as everything is by default a unicode character registration_state = RegistrationState( None if "deviceId" not in decoded_state else str( decoded_state["deviceId"]), None if "assignedHub" not in decoded_state else str( decoded_state["assignedHub"]), None if "substatus" not in decoded_state else str( decoded_state["substatus"]), None if "createdDateTimeUtc" not in decoded_state else str( decoded_state["createdDateTimeUtc"]), None if "lastUpdatedDateTimeUtc" not in decoded_state else str( decoded_state["lastUpdatedDateTimeUtc"]), None if "etag" not in decoded_state else str(decoded_state["etag"]), None if "payload" not in decoded_state else str( decoded_state["payload"]), ) registration_result = RegistrationResult( request_id=query_result.request_id, operation_id=query_result.operation_id, status=query_result.status, registration_state=registration_state, ) return registration_result
def registration_result(): registration_state = RegistrationState(fake_device_id, fake_assigned_hub, fake_sub_status) return RegistrationResult(fake_operation_id, fake_status, registration_state)
def create_registration_result(registration_state=None): return RegistrationResult(fake_operation_id, fake_status, registration_state)
def create_success_result(): return RegistrationResult(fake_request_id, fake_operation_id, fake_status, fake_registration_state)