def test_get_message(self, authenticate_mock, get_mock): """ Test Get Message""" print("Test Get Message\n") content = {"displayName": "Tester"} try: authenticate_mock.return_value = True MS_graph_helper = MSGraphHelper( MOCKED_OPTS.get("microsoft_graph_token_url"), MOCKED_OPTS.get("microsoft_graph_url"), MOCKED_OPTS.get("tenant_id"), MOCKED_OPTS.get("client_id"), MOCKED_OPTS.get("client_secret"), MOCKED_OPTS.get("max_messages"), MOCKED_OPTS.get("max_users"), MOCKED_OPTS.get("max_retries_total"), MOCKED_OPTS.get("max_retries_backoff_factor"), MOCKED_OPTS.get("max_batched_requests"), None) get_mock.return_value = generate_response(content, 200) response = MS_graph_helper.get_message("*****@*****.**", "AAA") assert response.status_code == 200 assert response.content["displayName"] == "Tester" get_mock.return_value = generate_response(content, 404) response = MS_graph_helper.get_message("*****@*****.**", "AAA") assert response.status_code == 404 assert response.content["displayName"] == "Tester" get_mock.return_value = generate_response(content, 300) response = MS_graph_helper.get_message("*****@*****.**", "AAA") except IntegrationError as err: assert True
def _exchange_online_get_message_function(self, event, *args, **kwargs): """Function: This function returns the contents of an Exchange Online message.""" try: # Initialize the results payload rp = ResultPayload(CONFIG_DATA_SECTION, **kwargs) # Validate fields validate_fields(['exo_email_address', 'exo_messages_id'], kwargs) # Get the function parameters: email_address = kwargs.get("exo_email_address") # text message_id = kwargs.get("exo_messages_id") # text LOG.info(u"exo_email_address: %s", email_address) LOG.info(u"exo_messages_id: %s", message_id) yield StatusMessage( u"Starting get message for email address: {}".format( email_address)) # Get the MS Graph helper class MS_graph_helper = MSGraphHelper( self.options.get("microsoft_graph_token_url"), self.options.get("microsoft_graph_url"), self.options.get("tenant_id"), self.options.get("client_id"), self.options.get("client_secret"), self.options.get("max_messages"), self.options.get("max_users"), RequestsCommon(self.opts, self.options).get_proxies()) # Call MS Graph API to get the user profile response = MS_graph_helper.get_message(email_address, message_id) response_json = response.json() results = rp.done(True, response_json) # Add pretty printed string for easier to read output text in note. pretty_string = json.dumps(response_json, ensure_ascii=False, sort_keys=True, indent=4, separators=(',', ': ')) results['pretty_string'] = pretty_string yield StatusMessage( u"Returning results for get message for email address: {}". format(email_address)) LOG.debug(json.dumps(pretty_string)) # Produce a FunctionResult with the results yield FunctionResult(results) except Exception as err: LOG.error(err) yield FunctionError(err)