From e97aab95ed4cea158454ecb3cc6c153124604ca3 Mon Sep 17 00:00:00 2001 From: lincmba Date: Wed, 8 Nov 2023 11:17:49 +0300 Subject: [PATCH] Add cleaner initial tests --- cleaner/config.py | 0 cleaner/test_main.py | 41 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 41 insertions(+) create mode 100644 cleaner/config.py create mode 100644 cleaner/test_main.py diff --git a/cleaner/config.py b/cleaner/config.py new file mode 100644 index 00000000..e69de29b diff --git a/cleaner/test_main.py b/cleaner/test_main.py new file mode 100644 index 00000000..927d3154 --- /dev/null +++ b/cleaner/test_main.py @@ -0,0 +1,41 @@ +import json +import unittest +from unittest.mock import patch +from main import post_request, build_payload + + +class TestMainFunctions(unittest.TestCase): + + @patch('main.config') + @patch('main.requests.post') + @patch('main.OAuth2Session') + def test_post_request_successful(self, oauth_session, mock_post, + mock_config): + oauth_session.fetch_token.return_value = "token" + mock_config.client_id = 1 + mock_config.client_secret = "client_secret" + mock_config.username = "username" + mock_config.password = "password" + mock_config.access_token_url = "access_token_url" + + mock_response = mock_post.return_value + mock_response.status_code = 200 + mock_response.text = "Success" + result = post_request("POST", "payload", "url") + self.assertEqual(result.status_code, 200) + + def test_build_payload(self): + resource_ids = ["1"] + resource_type = "ResourceType" + payload = build_payload(resource_ids, resource_type) + + self.assertTrue( + '{"resourceType": "Bundle", "type": "transaction", "entry": [' + in payload) + payload = json.loads(payload) + self.assertDictEqual(payload['entry'][0]['request'], + {'method': 'DELETE', 'url': 'ResourceType/1'}) + + +if __name__ == '__main__': + unittest.main()