from slugify import slugify from atlas_um import pgdb from atlas_um.admin_settings import services from atlas_um.tokens.claim_values_serializers import RegisteredSerializers from tests.atlas_um import factories class TestUpdateBusinessUnitService: def test_create(self, faker, pgdb_session): data = {"name": faker.pystr(), "is_deleted": faker.pybool()} res = services.UpdateBusinessUnitService.execute(None, **data) obj = pgdb.BusinessUnit.query.first() assert obj.name == data["name"] assert obj.is_deleted == data["is_deleted"] assert obj.slug == slugify(data["name"]) assert res.value == obj def test_update(self, faker, pgdb_session): obj = factories.BusinessUnitFactory.create() pgdb_session.add(obj) pgdb_session.commit() data = {"name": faker.pystr(), "is_deleted": faker.pybool()} res = services.UpdateBusinessUnitService.execute(obj, **data) assert obj.name == data["name"] assert obj.is_deleted == data["is_deleted"] assert res.value == obj class TestUpdateJobCategoryService: def test_create(self, faker, pgdb_session): data = {"name": faker.pystr(), "is_deleted": faker.pybool()} res = services.UpdateJobCategoryService.execute(None, **data) obj = pgdb.JobCategory.query.first() assert obj.name == data["name"] assert obj.slug == slugify(data["name"]) assert obj.is_deleted == data["is_deleted"] assert res.value == obj def test_update(self, faker, pgdb_session): obj = factories.JobCategoryFactory.create() pgdb_session.add(obj) pgdb_session.commit() data = {"name": faker.pystr(), "is_deleted": faker.pybool()} res = services.UpdateJobCategoryService.execute(obj, **data) assert obj.name == data["name"] assert obj.is_deleted == data["is_deleted"] assert res.value == obj class TestUpdatePersonnelTypeService: def test_create(self, faker, pgdb_session): data = {"name": faker.pystr(), "is_deleted": faker.pybool()} res = services.UpdatePersonnelTypeService.execute(None, **data) obj = pgdb.PersonnelType.query.first() assert obj.name == data["name"] assert obj.slug == slugify(data["name"]) assert obj.is_deleted == data["is_deleted"] assert res.value == obj def test_update(self, faker, pgdb_session): obj = factories.PersonnelTypeFactory.create() pgdb_session.add(obj) pgdb_session.commit() data = {"name": faker.pystr(), "is_deleted": faker.pybool()} res = services.UpdatePersonnelTypeService.execute(obj, **data) assert obj.name == data["name"] assert obj.is_deleted == data["is_deleted"] assert res.value == obj class TestTagService: def test_create(self, faker, pgdb_session): data = {"name": faker.pystr(), "is_deleted": faker.pybool()} res = services.UpdateTagService.execute(None, **data) obj = pgdb.Tag.query.first() assert obj.name == data["name"] assert obj.slug == slugify(data["name"]) assert obj.is_deleted == data["is_deleted"] assert res.value == obj def test_update(self, faker, pgdb_session): obj = factories.TagFactory.create() pgdb_session.add(obj) pgdb_session.commit() data = {"name": faker.pystr(), "is_deleted": faker.pybool()} res = services.UpdateTagService.execute(obj, **data) assert obj.name == data["name"] assert obj.is_deleted == data["is_deleted"] assert res.value == obj class TestUpdateResourceGroupService: def test_create(self, faker, pgdb_session): data = {"name": faker.pystr(), "is_deleted": faker.pybool()} res = services.UpdateResourceGroupService.execute(None, **data) obj = pgdb.ResourceGroup.query.first() assert obj.name == data["name"] assert obj.namespace_url == slugify(data["name"]) assert obj.external_id == slugify(data["name"]) assert obj.is_deleted == data["is_deleted"] assert res.value == obj def test_update(self, faker, pgdb_session): obj = factories.ResourceGroupFactory.create() pgdb_session.add(obj) pgdb_session.commit() data = { "name": faker.pystr(), "is_deleted": faker.pybool(), "external_id": faker.pystr(), "service_url": faker.url(), } res = services.UpdateResourceGroupService.execute(obj, **data) assert obj.name == data["name"] assert obj.is_deleted == data["is_deleted"] assert obj.external_id == data["external_id"] assert obj.service_url == data["service_url"] assert res.value == obj class TestUpdateClaimNameService: def test_create(self, faker, pgdb_session): parent = factories.ClaimNameFactory.create() pgdb_session.add(parent) resource_group = factories.ResourceGroupFactory.create() pgdb_session.add(resource_group) pgdb_session.commit() data = { "friendly": faker.pystr(), "is_deleted": faker.pybool(), "claim_values_serializer": RegisteredSerializers.BooleanAnd.name, "resource_group_id": resource_group.id, "parent": parent, } res = services.UpdateClaimNameService.execute(None, **data) obj = pgdb.ClaimName.query.filter( pgdb.ClaimName.id != parent.id ).first() assert obj.friendly == data["friendly"] assert obj.path == slugify(data["friendly"]) assert obj.external_id == slugify(data["friendly"]) assert obj.is_deleted == data["is_deleted"] assert obj.claim_values_serializer == data["claim_values_serializer"] assert obj.resource_group == resource_group assert obj.parent == parent assert res.value == obj def test_update(self, faker, pgdb_session): parent = factories.ClaimNameFactory.create() pgdb_session.add(parent) resource_group = factories.ResourceGroupFactory.create() pgdb_session.add(resource_group) obj = factories.ClaimNameFactory.build(resource_group=resource_group) pgdb_session.add(obj) pgdb_session.commit() data = { "friendly": faker.pystr(), "is_deleted": faker.pybool(), "claim_values_serializer": RegisteredSerializers.BooleanAnd.name, "external_id": faker.pystr(), "parent": parent, } res = services.UpdateClaimNameService.execute(obj, **data) assert obj.friendly == data["friendly"] assert obj.is_deleted == data["is_deleted"] assert obj.external_id == data["external_id"] assert obj.claim_values_serializer == data["claim_values_serializer"] assert obj.resource_group == resource_group assert obj.parent == parent assert res.value == obj class TestUpdateClaimValueService: def test_create(self, faker, pgdb_session): parent = factories.ClaimValueFactory.create() pgdb_session.add(parent) claim_name = factories.ClaimNameFactory.create() pgdb_session.add(claim_name) pgdb_session.commit() data = { "friendly": faker.pystr(), "is_deleted": faker.pybool(), "components": {faker.pystr(): faker.pystr()}, "claim_name_id": claim_name.id, "parent": parent, } res = services.UpdateClaimValueService.execute(None, **data) obj = pgdb.ClaimValue.query.filter( pgdb.ClaimValue.id != parent.id ).first() assert obj.friendly == data["friendly"] assert obj.external_id == slugify(data["friendly"]) assert obj.is_deleted == data["is_deleted"] assert obj.components == data["components"] assert obj.claim_name == claim_name assert obj.parent == parent assert res.value == obj def test_update(self, faker, pgdb_session): parent = factories.ClaimValueFactory.create() pgdb_session.add(parent) claim_name = factories.ClaimNameFactory.create() obj = factories.ClaimValueFactory.build(claim_name=claim_name) pgdb_session.add(obj) pgdb_session.add(claim_name) pgdb_session.commit() data = { "friendly": faker.pystr(), "is_deleted": faker.pybool(), "components": {faker.pystr(): faker.pystr()}, "claim_name_id": claim_name.id, "external_id": faker.pystr(), "parent": parent, } res = services.UpdateClaimValueService.execute(obj, **data) assert obj.friendly == data["friendly"] assert obj.is_deleted == data["is_deleted"] assert obj.external_id == data["external_id"] assert obj.components == data["components"] assert obj.claim_name == claim_name assert obj.parent == parent assert res.value == obj class TestUpdateInternalUserDomainService: def test_create(self, faker, pgdb_session): data = {"domain": faker.pystr()} res = services.UpdateInternalUserDomainService.execute(None, **data) obj = pgdb.InternalUserDomain.query.first() assert obj.domain == data["domain"] assert res.value == obj def test_update(self, faker, pgdb_session): obj = factories.InternalUserDomainFactory.create() pgdb_session.add(obj) pgdb_session.commit() data = {"domain": faker.pystr()} res = services.UpdateInternalUserDomainService.execute(obj, **data) assert obj.domain == data["domain"] assert res.value == obj