1+ from datetime import datetime
12from unittest import TestCase
23
34import requests_mock
45
5- from csfunctions import Service
6- from csfunctions .service import BaseService , Unauthorized
6+ from csfunctions import MetaData , Service
7+ from csfunctions .service . base import BaseService , Unauthorized
78
89
910class TestNumberGeneratorService (TestCase ):
@@ -14,26 +15,40 @@ class TestNumberGeneratorService(TestCase):
1415
1516 @classmethod
1617 def setUpClass (cls ) -> None :
17- cls .service = Service (cls .service_url , cls .service_token )
18+ cls .endpoint = "numgen"
19+ cls .service_url = "https://some_service_url"
20+ cls .service_token = "some_service_token" # nosec
21+ metadata = MetaData .model_validate (
22+ {
23+ "request_id" : "req-1" ,
24+ "app_lang" : "en" ,
25+ "app_user" : "tester" ,
26+ "request_datetime" : datetime (2000 , 1 , 1 ),
27+ "transaction_id" : "txn-1" ,
28+ "instance_url" : "https://instance.contact-cloud.com" ,
29+ "service_url" : cls .service_url ,
30+ "service_token" : cls .service_token ,
31+ "db_service_url" : None ,
32+ }
33+ )
34+ cls .service = Service (metadata = metadata )
1835
1936 @requests_mock .Mocker ()
2037 def test_get_number (self , mock_request : requests_mock .Mocker ):
2138 mock_request .get (f"{ self .service_url } /{ self .endpoint } ?name=test&count=1" , text = '{"numbers": [1,2,3]}' )
22-
2339 number = self .service .generator .get_number ("test" )
2440 last_request = mock_request .last_request
25-
41+ self . assertIsNotNone ( last_request )
2642 self .assertEqual ("GET" , last_request .method )
2743 self .assertEqual (f"Bearer { self .service_token } " , last_request .headers ["Authorization" ])
2844 self .assertEqual (1 , number )
2945
3046 @requests_mock .Mocker ()
3147 def test_get_numbers (self , mock_request : requests_mock .Mocker ):
3248 mock_request .get (f"{ self .service_url } /{ self .endpoint } ?name=test&count=3" , text = '{"numbers": [1,2,3]}' )
33-
3449 numbers = self .service .generator .get_numbers ("test" , 3 )
3550 last_request = mock_request .last_request
36-
51+ self . assertIsNotNone ( last_request )
3752 self .assertEqual ("GET" , last_request .method )
3853 self .assertEqual (f"Bearer { self .service_token } " , last_request .headers ["Authorization" ])
3954 self .assertEqual ([1 , 2 , 3 ], numbers )
@@ -48,10 +63,24 @@ def test_request(self, mock_request: requests_mock.Mocker):
4863 params = {"param1" : 1 , "param2" : 2 }
4964
5065 mock_request .get (f"{ service_url } /{ endpoint } ?param1=1¶m2=2" , text = "{}" )
51- service = BaseService (service_url , service_token )
66+ metadata = MetaData .model_validate (
67+ {
68+ "request_id" : "req-1" ,
69+ "app_lang" : "en" ,
70+ "app_user" : "tester" ,
71+ "request_datetime" : datetime (2000 , 1 , 1 ),
72+ "transaction_id" : "txn-1" ,
73+ "instance_url" : "https://instance.contact-cloud.com" ,
74+ "service_url" : service_url ,
75+ "service_token" : service_token ,
76+ "db_service_url" : None ,
77+ }
78+ )
79+ service = BaseService (metadata = metadata )
5280
5381 response = service .request (endpoint , "GET" , params )
5482 last_request = mock_request .last_request
83+ self .assertIsNotNone (last_request )
5584 self .assertEqual ("GET" , last_request .method )
5685 self .assertEqual (f"Bearer { service_token } " , last_request .headers ["Authorization" ])
5786 self .assertEqual ({}, response )
@@ -70,6 +99,7 @@ def test_request(self, mock_request: requests_mock.Mocker):
7099 mock_request .get (f"{ service_url } /{ endpoint } " , text = "{}" )
71100 response = service .request (endpoint , "GET" )
72101 last_request = mock_request .last_request
102+ self .assertIsNotNone (last_request )
73103 self .assertEqual ("GET" , last_request .method )
74104 self .assertEqual (f"Bearer { service_token } " , last_request .headers ["Authorization" ])
75105 self .assertEqual ({}, response )
0 commit comments