test_intent_call_id

python 12 hours, 22 minutes ago
import unittest from unittest.mock import Mock, patch from starlette.responses import JSONResponse from your_module import IntentCallidCountReport # Replace 'your_module' with the actual module name class TestIntentCallidCountReport(unittest.TestCase): def setUp(self): # Mocking services and configuration self.mock_oracle_service = Mock() self.mock_config_service = Mock() self.mock_config = {} # Instantiate IntentCallidCountReport with mocked services self.report_service = IntentCallidCountReport(self.mock_config, self.mock_oracle_service, self.mock_config_service) def test_executor_with_caller_type(self): # Test case where `caller_type` is provided mock_query_result = [ ['LOB1', 'ClientA', 'TypeA', 100, 25, 20, 15, 10, 5, 25, 25.0, 20.0, 15.0, 10.0, 5.0, 25.0] ] # Configuring mocks self.mock_config_service.get_config_for_process.return_value = { 'INTENT_CALLID_COUNT_1': "SELECT * FROM DUMMY_TABLE WHERE LOB='{0}' AND CLIENT_CODE='{1}' AND CALLER_TYPE='{2}' AND DATE BETWEEN '{3}' AND '{4}'" } self.mock_oracle_service.execute_select_query_non_string.return_value = mock_query_result # Run method response = self.report_service.executor('LOB1', 'ClientA', 'TypeA', '2024-01-01', '2024-12-31', 'trace123') # Assertions self.assertIsInstance(response, JSONResponse) self.mock_config_service.get_config_for_process.assert_called_once_with( namespace='CALL_CENTER', process='COUNT', config_type='QUERY', sub_process=None, lookup_key='INTENT_CALLID_COUNT_1' ) self.mock_oracle_service.execute_select_query_non_string.assert_called_once() response_data = response.body.decode('utf-8') assert 'Success' in response_data def test_executor_without_caller_type(self): # Test case where `caller_type` is None mock_query_result = [ ['LOB1', 'ClientB', None, 200, 50, 40, 30, 20, 10, 50, 25.0, 20.0, 15.0, 10.0, 5.0, 25.0] ] # Configuring mocks self.mock_config_service.get_config_for_process.return_value = { 'INTENT_CALLID_COUNT_2': "SELECT * FROM DUMMY_TABLE WHERE LOB='{0}' AND CLIENT_CODE='{1}' AND DATE BETWEEN '{2}' AND '{3}'" } self.mock_oracle_service.execute_select_query_non_string.return_value = mock_query_result # Run method response = self.report_service.executor('LOB1', 'ClientB', None, '2024-01-01', '2024-12-31', 'trace123') # Assertions self.assertIsInstance(response, JSONResponse) self.mock_config_service.get_config_for_process.assert_called_once_with( namespace='CALL_CENTER', process='COUNT', config_type='QUERY', sub_process=None, lookup_key='INTENT_CALLID_COUNT_2' ) self.mock_oracle_service.execute_select_query_non_string.assert_called_once() response_data = response.body.decode('utf-8') assert 'Success' in response_data def test_executor_query_failure(self): # Test case where Oracle query fails self.mock_config_service.get_config_for_process.return_value = { 'INTENT_CALLID_COUNT_1': "SELECT * FROM DUMMY_TABLE WHERE LOB='{0}' AND CLIENT_CODE='{1}' AND CALLER_TYPE='{2}' AND DATE BETWEEN '{3}' AND '{4}'" } self.mock_oracle_service.execute_select_query_non_string.side_effect = Exception("Database error") with self.assertRaises(Exception) as context: self.report_service.executor('LOB1', 'ClientA', 'TypeA', '2024-01-01', '2024-12-31', 'trace123') self.assertTrue("Database error" in str(context.exception)) def test_executor_empty_result(self): # Test case where Oracle returns no data self.mock_config_service.get_config_for_process.return_value = { 'INTENT_CALLID_COUNT_2': "SELECT * FROM DUMMY_TABLE WHERE LOB='{0}' AND CLIENT_CODE='{1}' AND DATE BETWEEN '{2}' AND '{3}'" } self.mock_oracle_service.execute_select_query_non_string.return_value = [] response = self.report_service.executor('LOB1', 'ClientB', None, '2024-01-01', '2024-12-31', 'trace123') self.assertIsInstance(response, JSONResponse) response_data = response.body.decode('utf-8') assert 'DATA' in response_data # Expecting empty data in response if __name__ == '__main__': unittest.main()
8
Posted By
Python Script to create AWS beanstalk
#!/usr/bin/python
  
import boto
python aws beanstalk
sandeep sandeep
List all files and folders using python os mo
import os

def list_files_folders(path):
python python-os
kishore_kumar
Get current environment variables in python
import os
env = os.environ

python python-os
kishore_kumar
Get os details using python os
import os
print os.uname()
# Don't use os.system('uname -a'), its j
python python-os
kishore_kumar
Get stats ( lines, words, char count ) of fil
def file_stats(path):
    f = open(path, 'r')
    lines = f.readlines()
python
kishore_kumar
Use map function in python
def get_double(num):
    return num * 2

python
kishore_kumar
Python sample codes for beginners
print "Welcome to python"
python
gaya38 gaya38
Python program for even number checking
a=input("Enter a value:")
if (a%2==0):
    print "The given number is even numb
python
gaya38 gaya38
Python program for prime number check
a=input("Enter a value:")
k=0
b=(a/2)+1
python
gaya38 gaya38
Pass command line arguments in python
import sys
x=len(sys.argv)
a=[]
python
gaya38 gaya38
Python program for the largest number in an a
a = [1,43,98,5]#Dummy data
for l in range(len(a)-1):
        if (a[l]>a[l+1]):
python
gaya38 gaya38
print list of even numbers within a range
n=100
a=[10,20,30,40,50]
b=[60,70,80,90]
python
gaya38 gaya38
generate fibonacci series in python
n=input("Enter the constraint to print n
m=input("Enter the maximum value to prin
a=0
python
gaya38 gaya38
Generate Random number within the range in py
import random
print random.uniform(10,500)
python
gaya38 gaya38
Shuffle list elements in python
import random;
z = [1,90,4,2]
z = random.shuffle(z)
python
gaya38 gaya38
use python requests to get contents of url (
import requests

req = requests.get("https://httpbin.org/
python python-requests
kishore_kumar
how to iterate or get values in python dictio
sample_dict = { "number": 1, "fruits": [

for key in sample_dict:
python
kishore_kumar
create matrix and multiply using numpy in pyt
import numpy as np

matrix = [[1,2,3], [4,5,6], [7,8,9]]
python numpy
kishore_kumar
generate random numbers matrix with numpy pyt
import numpy as np

random_arr = np.random.randint(1,50,9)
python numpy
kishore_kumar
Find min , max and mean for numpy arrays
import numpy as np

random_arr = np.random.randint(1,50,9)
python numpy
kishore_kumar