#!/usr/bin/env python from unittest import TestCase from doc.analysis.generaterobotdata import GenerateRobotData from json import load, dump from deepdiff import DeepDiff from os.path import dirname, exists from os import listdir, remove, makedirs class TestCIProvision(TestCase): @classmethod def setUpClass(cls): TestCIProvision.folder_test_suites = dirname(dirname(dirname(__file__))) folder_results = f'{TestCIProvision.folder_test_suites}/doc/results' # Check that the folder '/results' exists and if not, create it if not exists(folder_results): makedirs(folder_results) else: # Delete the /results folder [remove(f'{folder_results}/{x}') for x in listdir(folder_results) if x.startswith('out')] def setUp(self) -> None: self.folder_test_suites = dirname(dirname(dirname(__file__))) def common_function(self, robot_file, expected_value, difference_file): data = GenerateRobotData(robot_file=robot_file, execdir=self.folder_test_suites) data.parse_robot() obtained_response = data.get_info() with open(expected_value, 'r') as file: expected_response = load(file) result = DeepDiff(t1=obtained_response, t2=expected_response, ignore_order=True) if len(result) != 0: # There are some differences with open(difference_file, 'w') as fp: dump(obj=obtained_response, indent=2, fp=fp) assert False, f'They are some difference between the expected and obtained dictionaries: \n {result}' def test_003_01(self): self.fail("(003_01) Test Suite with Test Template, not yet implemented") def test_003_02(self): self.fail("(003_02) Test Suite result is wrong, need to be checked") def test_003_03(self): self.fail("(003_03) Test Suite with Test Template, not yet implemented") def test_003_04(self): self.fail("(003_04) Test Suite with 'Check Response Body Containing an Attribute set to' with different set of parameters") def test_003_05(self): self.fail("(003_05) Test Suite with 'Check Response Body Containing an Attribute set to' with different set of parameters") def test_003_06(self): robot_file = f'{self.folder_test_suites}/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/CreateBatchOfEntities/003_06.robot' expected_value = f'{self.folder_test_suites}/doc/files/ContextInformation/Provision/003_06.json' difference_file = f'{self.folder_test_suites}/doc/results/out_003_06.json' self.common_function(robot_file=robot_file, expected_value=expected_value, difference_file=difference_file) def test_003_07(self): self.fail("(003_07) Test Suite with 'Check Response Body Containing an Attribute set to' with different set of parameters") def test_003_08(self): robot_file = f'{self.folder_test_suites}/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/CreateBatchOfEntities/003_08.robot' expected_value = f'{self.folder_test_suites}/doc/files/ContextInformation/Provision/003_08.json' difference_file = f'{self.folder_test_suites}/doc/results/out_003_08.json' self.common_function(robot_file=robot_file, expected_value=expected_value, difference_file=difference_file) def test_003_09(self): robot_file = f'{self.folder_test_suites}/TP/NGSI-LD/ContextInformation/Provision/BatchEntities/CreateBatchOfEntities/003_09.robot' expected_value = f'{self.folder_test_suites}/doc/files/ContextInformation/Provision/003_09.json' difference_file = f'{self.folder_test_suites}/doc/results/out_003_09.json' self.common_function(robot_file=robot_file, expected_value=expected_value, difference_file=difference_file) def test_006_01(self): self.fail("(006_01) The first operation is not a setup operation of the environment but a Delete operation that have to be controlled") def test_006_02(self): self.fail("(006_02) The first operation is not a setup operation of the environment but a Delete operation that have to be controlled") def test_006_03(self): self.fail("(006_03) Test Suite with Test Template, not yet implemented") def test_005_01(self): self.fail("(005_01) Test Suite with Test Template, not yet implemented") def test_005_02(self): self.fail("(005_02) Test Suite with Test Template, not yet implemented") def test_005_03(self): self.fail("(005_03) Test Suite error content empty when generate then sentence") def test_005_04(self): self.fail("(005_04) Test Suite with Test Template, not yet implemented") def test_004_01(self): self.fail("(005_02) Test Suite with Test Template, not yet implemented") def test_004_02(self): self.fail("(004_02) Test Suite with Test Template, not yet implemented") def test_004_03(self): self.fail("(004_03) Test Suite with Test Template, not yet implemented") def test_004_04(self): self.fail("(004_04) Test Suite with Test Template, not yet implemented") def test_004_05(self): self.fail("(004_05) Test Suite error content empty when generate then sentence") def test_004_06(self): self.fail("(004_06) Test Suite with Test Template, not yet implemented")