def test_should_fail_to_update_test_case_to_invalid_suite_id(self) -> None: to_update = self.model_tc_update.copy(update={"suite_id": 999}) with self.assertRaises(IntegrityError): self.tc_repo.update(self.tc_2, dict(to_update)) db_session.rollback() result = self.tc_repo.get_all() self.assertEqual(result, self.model_tcs)
def setUp(self) -> None: db_session.rollback() db_session.query(Keyword).delete() db_session.query(Collection).delete() self.collection_repo = CollectionRepository(db_session) self.keyword_repo = KeywordRepository(db_session) self.keywords = [ Keyword( name="Test setup", doc="Prepare test environment, use teardown after this one", ), Keyword(name="Login keyword", doc="Perform some check"), Keyword(name="Teardown", doc="Clean up environment"), ] self.app_keyword = Keyword(name="Login to Application") self.collections = [ Collection(name="First collection", type="robot", keywords=self.keywords), Collection(name="Second collection", type="Robot", keywords=[self.app_keyword]), Collection(name="Third", type="Library"), ] self.sorted_keywords = sorted(self.keywords + [self.app_keyword], key=lambda k: k.name) db_session.add_all(self.collections) db_session.commit() for item in self.collections: db_session.refresh(item)
def test_should_fail_to_add_duplicated_test_case_to_suite(self) -> None: self.tc_to_add.name = "TC2" with self.assertRaises(IntegrityError): self.tc_repo.add(self.tc_to_add) db_session.rollback() result = self.tc_repo.get_all() self.assertEqual(result, self.model_tcs)
def test_should_fail_to_add_test_case_with_invalid_suite_id(self) -> None: self.tc_to_add.suite_id = 999 with self.assertRaises(IntegrityError): self.tc_repo.add(self.tc_to_add) db_session.rollback() result = self.tc_repo.get_all() self.assertEqual(result, self.model_tcs)
def setUp(self) -> None: self.app = create_app() db_session.rollback() recreate_data(db_session) self.client: TestClient = TestClient(self.app) self.auth_client: TestClient = TestClient(self.app) self.auth_client.auth = (config.BASIC_AUTH_USER, config.BASIC_AUTH_PASSWORD)
def test_should_fail_to_update_test_case_to_duplicate(self) -> None: to_update = self.model_tc_update.copy(update={ "name": "TC1", "suite_id": self.suite_1.id }) with self.assertRaises(IntegrityError): self.tc_repo.update(self.tc_2, dict(to_update)) db_session.rollback() result = self.tc_repo.get_all() self.assertEqual(result, self.model_tcs)
def setUp(self) -> None: db_session.rollback() db_session.query(TestCase).delete() db_session.query(SuiteRel).delete() db_session.query(Suite).delete() self.suite_repo = SuiteRepository(db_session) self.keyword_refs = [ KeywordRef(name="Login", args=["admin"], kw_type=KeywordType.SETUP) ] self.keyword_refs_json = ( '[{"name": "Login", "args": ["admin"], "kw_type": "SETUP"}]') self.empty_keywords = KeywordRefList.of([]) self.metadata_items = [MetadataItem(key="version", value="1.0")] self.metadata_items_json = '[{"key": "version", "value": "1.0"}]' self.empty_metadata = SuiteMetadata.of([]) self.suite_1 = Suite( name="Suite 1", longname="Suite 1", keywords=self.keyword_refs_json, metadata_items=self.metadata_items_json, is_root=True, rpa=False, ) self.suite_2 = Suite( name="Suite 2", longname="Suite 2", keywords="[]", metadata_items="[]", is_root=True, rpa=False, ) self.suite_3 = Suite( name="Suite 3", longname="Suite 3", keywords="[]", metadata_items="[]", is_root=True, rpa=False, ) self.suite_11 = Suite( name="Suite 1-1", longname="Suite 1.Suite 1-1", keywords="[]", metadata_items="[]", is_root=False, rpa=False, ) self.suite_12 = Suite( name="Suite 1-2", longname="Suite 1.Suite 1-2", keywords="[]", metadata_items="[]", is_root=False, rpa=False, ) self.suite_111 = Suite( name="Suite 1-1-1", longname="Suite 1.Suite 1-1.Suite 1-1-1", keywords="[]", metadata_items="[]", is_root=False, rpa=False, ) self.suite_112 = Suite( name="Suite 1-1-2", longname="Suite 1.Suite 1-1.Suite 1-1-2", keywords="[]", metadata_items="[]", is_root=False, rpa=False, ) self.suite_121 = Suite( name="Suite 1-2-1", longname="Suite 1.Suite 1-2.Suite 1-2-1", keywords="[]", metadata_items="[]", is_root=False, rpa=False, ) self.suites = [ self.suite_1, self.suite_2, self.suite_3, self.suite_11, self.suite_12, self.suite_111, self.suite_112, self.suite_121, ] db_session.add_all(self.suites) db_session.flush() for item in self.suites: db_session.refresh(item) self.suite_rels = [ SuiteRel(parent_id=self.suite_1.id, child_id=self.suite_1.id, degree=0), SuiteRel(parent_id=self.suite_1.id, child_id=self.suite_11.id, degree=1), SuiteRel(parent_id=self.suite_1.id, child_id=self.suite_12.id, degree=1), SuiteRel(parent_id=self.suite_1.id, child_id=self.suite_111.id, degree=2), SuiteRel(parent_id=self.suite_1.id, child_id=self.suite_112.id, degree=2), SuiteRel(parent_id=self.suite_1.id, child_id=self.suite_121.id, degree=2), SuiteRel(parent_id=self.suite_11.id, child_id=self.suite_11.id, degree=0), SuiteRel(parent_id=self.suite_11.id, child_id=self.suite_111.id, degree=1), SuiteRel(parent_id=self.suite_11.id, child_id=self.suite_112.id, degree=1), SuiteRel(parent_id=self.suite_12.id, child_id=self.suite_12.id, degree=0), SuiteRel(parent_id=self.suite_12.id, child_id=self.suite_121.id, degree=1), SuiteRel(parent_id=self.suite_111.id, child_id=self.suite_111.id, degree=0), SuiteRel(parent_id=self.suite_112.id, child_id=self.suite_112.id, degree=0), SuiteRel(parent_id=self.suite_121.id, child_id=self.suite_121.id, degree=0), SuiteRel(parent_id=self.suite_2.id, child_id=self.suite_2.id, degree=0), SuiteRel(parent_id=self.suite_3.id, child_id=self.suite_3.id, degree=0), ] self.test_cases = [ TestCase(suite_id=self.suite_2.id, name="TC2", line=1, tags="[]", keywords="[]"), TestCase(suite_id=self.suite_111.id, name="TC1", line=1, tags="[]", keywords="[]"), TestCase(suite_id=self.suite_111.id, name="TC3", line=1, tags="[]", keywords="[]"), TestCase(suite_id=self.suite_112.id, name="TC4", line=1, tags="[]", keywords="[]"), TestCase(suite_id=self.suite_121.id, name="TC5", line=1, tags="[]", keywords="[]"), ] db_session.add_all(self.suite_rels) db_session.add_all(self.test_cases) db_session.commit() # model instances self.model_suite_1 = SuiteRepository.from_row((self.suite_1, None, 4)) self.model_suite_11 = SuiteRepository.from_row( (self.suite_11, self.suite_1.id, 3)) self.model_suite_111 = SuiteRepository.from_row( (self.suite_111, self.suite_11.id, 2)) self.model_suite_112 = SuiteRepository.from_row( (self.suite_112, self.suite_11.id, 1)) self.model_suite_12 = SuiteRepository.from_row( (self.suite_12, self.suite_1.id, 1)) self.model_suite_121 = SuiteRepository.from_row( (self.suite_121, self.suite_12.id, 1)) self.model_suite_2 = SuiteRepository.from_row((self.suite_2, None, 1)) self.model_suite_3 = SuiteRepository.from_row((self.suite_3, None, 0)) self.model_suites = [ self.model_suite_1, self.model_suite_11, self.model_suite_111, self.model_suite_112, self.model_suite_12, self.model_suite_121, self.model_suite_2, self.model_suite_3, ] self.hierarchy_d = SuiteHierarchy( name="d", keywords=self.empty_keywords, metadata=self.empty_metadata, suites=[], ) self.hierarchy_e = SuiteHierarchy( name="e", keywords=self.empty_keywords, metadata=self.empty_metadata, suites=[], ) self.hierarchy_b = SuiteHierarchy( name="b", keywords=self.empty_keywords, metadata=self.empty_metadata, suites=[self.hierarchy_d, self.hierarchy_e], ) self.hierarchy_c = SuiteHierarchy( name="c", keywords=self.empty_keywords, metadata=self.empty_metadata, suites=[], ) self.hierarchy_a = SuiteHierarchy( name="a", doc="doc", source="/path", keywords=KeywordRefList.of(self.keyword_refs), metadata=self.empty_metadata, suites=[self.hierarchy_b, self.hierarchy_c], rpa=True, ) self.model_suite_a = ModelSuite( id=9, name="a", longname="a", doc="doc", source="/path", is_root=True, rpa=True, test_count=0, keywords=KeywordRefList.of(self.keyword_refs), metadata=self.empty_metadata, ) self.model_suite_b = ModelSuite( id=10, name="b", longname="a.b", is_root=False, parent_id=9, test_count=0, keywords=self.empty_keywords, metadata=self.empty_metadata, ) self.model_suite_c = ModelSuite( id=11, name="c", longname="a.c", is_root=False, parent_id=9, test_count=0, keywords=self.empty_keywords, metadata=self.empty_metadata, ) self.model_suite_d = ModelSuite( id=12, name="d", longname="a.b.d", is_root=False, parent_id=10, test_count=0, keywords=self.empty_keywords, metadata=self.empty_metadata, ) self.model_suite_e = ModelSuite( id=13, name="e", longname="a.b.e", is_root=False, parent_id=10, test_count=0, keywords=self.empty_keywords, metadata=self.empty_metadata, ) self.model_suites_added = [ self.model_suite_a, self.model_suite_b, self.model_suite_d, self.model_suite_e, self.model_suite_c, ]
def setUp(self) -> None: db_session.rollback() db_session.query(TestCase).delete() db_session.query(Suite).delete() self.tc_repo = TestCaseRepository(db_session) self.keyword_refs = [ KeywordRef(name="Login", args=["admin"], kw_type=KeywordType.SETUP) ] self.keyword_refs_json = ( '[{"name": "Login", "args": ["admin"], "kw_type": "SETUP"}]') self.empty_keywords = KeywordRefList.of([]) self.suite_1 = Suite( name="Suite 1", longname="Suite 1", keywords=self.keyword_refs_json, metadata_items="[]", is_root=True, rpa=False, ) self.suite_2 = Suite( name="Suite 2", longname="Suite 2", keywords="[]", metadata_items="[]", is_root=True, rpa=False, ) self.suites = [self.suite_1, self.suite_2] db_session.add_all(self.suites) db_session.flush() for item in self.suites: db_session.refresh(item) self.tc_1 = TestCase( suite_id=self.suite_1.id, name="TC1", line=1, doc="doc", source="source", template="template", timeout="timeout", tags="[]", keywords="[]", ) self.tc_2 = TestCase(suite_id=self.suite_2.id, name="TC2", line=1, tags="[]", keywords="[]") self.tc_3 = TestCase(suite_id=self.suite_1.id, name="TC3", line=10, tags="[]", keywords="[]") self.tc_4 = TestCase(suite_id=self.suite_1.id, name="TC4", line=30, tags="[]", keywords="[]") self.tc_5 = TestCase(suite_id=self.suite_1.id, name="TC5", line=20, tags="[]", keywords="[]") self.test_cases = [ self.tc_1, self.tc_2, self.tc_3, self.tc_4, self.tc_5 ] db_session.add_all(self.test_cases) db_session.commit() self.model_tc_1 = TestCaseRepository.from_row( (self.tc_1, self.suite_1)) self.model_tc_2 = TestCaseRepository.from_row( (self.tc_2, self.suite_2)) self.model_tc_3 = TestCaseRepository.from_row( (self.tc_3, self.suite_1)) self.model_tc_4 = TestCaseRepository.from_row( (self.tc_4, self.suite_1)) self.model_tc_5 = TestCaseRepository.from_row( (self.tc_5, self.suite_1)) self.model_tcs = [ self.model_tc_1, self.model_tc_2, self.model_tc_3, self.model_tc_4, self.model_tc_5, ] self.tc_to_add = TestCase(suite_id=self.suite_2.id, name="TC_NEW", line=10, tags="[]", keywords="[]") self.tc_added = TestCase( id=6, suite_id=self.suite_2.id, name="TC_NEW", line=10, tags="[]", keywords="[]", ) self.model_tc_to_add = TestCaseRepository.from_row( (self.tc_added, self.suite_2)) self.model_tc_update = TestCaseUpdate( name="updated", line=1, suite_id=self.suite_2.id, keywords=KeywordRefList.of(self.keyword_refs), tags=TagList.of(["disabled"]), ) self.model_tc_updated = self.model_tc_2.copy( update={ "name": "updated", "longname": "Suite 2.updated", "keywords": KeywordRefList.of(self.keyword_refs), "tags": TagList.of(["disabled"]), })