Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
def test_delete_organizations(self):
"""Check whether it deletes a set of organizations"""
# First, add a set of organizations, including some domains
# and enrollments
api.add_unique_identity(self.db, 'John Smith')
api.add_unique_identity(self.db, 'John Doe')
api.add_organization(self.db, 'Example')
api.add_domain(self.db, 'Example', 'example.com')
api.add_domain(self.db, 'Example', 'example.org')
api.add_enrollment(self.db, 'John Smith', 'Example')
api.add_enrollment(self.db, 'John Doe', 'Example')
api.add_organization(self.db, 'Bitergia')
api.add_domain(self.db, 'Bitergia', 'bitergia.com')
api.add_enrollment(self.db, 'John Smith', 'Bitergia')
api.add_organization(self.db, 'LibreSoft')
# Delete the first organization
api.delete_organization(self.db, 'Example')
with self.db.connect() as session:
org1 = session.query(Organization).\
filter(Organization.name == 'Example').first()
self.assertEqual(org1, None)
dom1 = session.query(Domain).\
filter(Domain.domain == 'example.com').first()
self.assertEqual(dom1, None)
dom2 = session.query(Domain).\
filter(Domain.domain == 'example.org').first()
self.assertEqual(dom2, None)
def test_delete_with_period_ranges(self):
"""Check whether it deletes a set of enrollments using some periods"""
# First, add a set of uuids, organizations and enrollments
api.add_unique_identity(self.db, 'John Smith')
api.add_unique_identity(self.db, 'John Doe')
api.add_organization(self.db, 'Example')
api.add_enrollment(self.db, 'John Smith', 'Example')
api.add_enrollment(self.db, 'John Smith', 'Example',
datetime.datetime(1999, 1, 1),
datetime.datetime(2010, 1, 1))
api.add_enrollment(self.db, 'John Smith', 'Example',
datetime.datetime(1981, 1, 1),
datetime.datetime(1990, 1, 1))
api.add_enrollment(self.db, 'John Smith', 'Example',
datetime.datetime(1991, 1, 1),
datetime.datetime(1993, 1, 1))
# This should delete two enrolmments: 1981-1990 and 1991-1993
# but not the one from 1999-2010 nor 1900-21000
api.delete_enrollment(self.db, 'John Smith', 'Example',
datetime.datetime(1970, 1, 1),
datetime.datetime(1995, 1, 1))
def test_get_domains(self):
"""Check if it returns the registry of domains"""
# Add some domains
api.add_organization(self.db, 'Example')
api.add_domain(self.db, 'Example', 'example.com', is_top_domain=True)
api.add_domain(self.db, 'Example', 'u.example.com', is_top_domain=True)
api.add_domain(self.db, 'Example', 'es.u.example.com')
api.add_domain(self.db, 'Example', 'en.u.example.com')
api.add_organization(self.db, 'Bitergia')
api.add_domain(self.db, 'Bitergia', 'bitergia.com')
api.add_domain(self.db, 'Bitergia', 'bitergia.org')
api.add_organization(self.db, 'LibreSoft')
doms = api.domains(self.db)
self.assertEqual(len(doms), 6)
dom0 = doms[0]
self.assertIsInstance(dom0, Domain)
self.assertEqual(dom0.domain, 'bitergia.com')
self.assertEqual(dom0.organization.name, 'Bitergia')
dom1 = doms[1]
self.assertIsInstance(dom1, Domain)
self.assertEqual(dom1.domain, 'bitergia.org')
self.assertEqual(dom1.organization.name, 'Bitergia')
dom2 = doms[2]
self.assertIsInstance(dom2, Domain)
def test_top_domains(self):
"""Check top domains option"""
# Add some domains
api.add_organization(self.db, 'Example')
api.add_domain(self.db, 'Example', 'example.com', is_top_domain=True)
api.add_domain(self.db, 'Example', 'u.example.com', is_top_domain=True)
api.add_domain(self.db, 'Example', 'es.u.example.com')
api.add_domain(self.db, 'Example', 'en.u.example.com')
api.add_organization(self.db, 'Bitergia')
api.add_domain(self.db, 'Bitergia', 'bitergia.com')
api.add_domain(self.db, 'Bitergia', 'bitergia.org')
api.add_organization(self.db, 'LibreSoft')
# Look only for top domains
doms = api.domains(self.db, top=True)
self.assertEqual(len(doms), 2)
dom0 = doms[0]
self.assertIsInstance(dom0, Domain)
self.assertEqual(dom0.domain, 'example.com')
self.assertEqual(dom0.organization.name, 'Example')
dom1 = doms[1]
self.assertIsInstance(dom1, Domain)
api.add_identity(self.db, 'scm', 'jsmith@example', 'John Smith',
uuid='John Smith')
api.add_unique_identity(self.db, 'John Doe')
api.edit_profile(self.db, 'John Doe', name='John Doe', is_bot=False)
api.add_unique_identity(self.db, 'Jane Rae')
api.add_organization(self.db, 'Example')
api.add_enrollment(self.db, 'John Smith', 'Example')
api.add_enrollment(self.db, 'John Doe', 'Example')
api.add_organization(self.db, 'Bitergia')
api.add_enrollment(self.db, 'John Smith', 'Bitergia')
api.add_organization(self.db, 'LibreSoft')
api.add_enrollment(self.db, 'Jane Rae', 'LibreSoft')
# Delete the first identity
api.delete_unique_identity(self.db, 'John Smith')
with self.db.connect() as session:
uid1 = session.query(UniqueIdentity).\
filter(UniqueIdentity.uuid == 'John Smith').first()
self.assertEqual(uid1, None)
identities = session.query(Identity).join(UniqueIdentity).\
filter(UniqueIdentity.uuid == 'John Smith').all()
self.assertEqual(len(identities), 0)
enrollments = session.query(Enrollment).join(UniqueIdentity).\
filter(UniqueIdentity.uuid == 'John Smith').all()
def test_empty_results(self):
"Check cases when the result is empty"
# First, add a set of uuids, organizations and enrollments
api.add_unique_identity(self.db, 'John Smith')
api.add_unique_identity(self.db, 'John Doe')
api.add_unique_identity(self.db, 'Jane Rae')
api.add_organization(self.db, 'Example')
api.add_enrollment(self.db, 'John Smith', 'Example',
datetime.datetime(1999, 1, 1),
datetime.datetime(2005, 1, 1))
api.add_enrollment(self.db, 'John Doe', 'Example')
api.add_organization(self.db, 'Bitergia')
api.add_enrollment(self.db, 'John Smith', 'Bitergia')
api.add_organization(self.db, 'LibreSoft')
api.add_enrollment(self.db, 'John Doe', 'LibreSoft')
api.add_organization(self.db, 'GSyC')
# Test when there are not enrollments for a uuid
enrollments = api.enrollments(self.db,
uuid='Jane Rae')
def test_delete_enrollments(self):
"""Check whether it deletes a set of enrollments"""
# First, add a set of uuids, organizations and enrollments
api.add_unique_identity(self.db, 'John Smith')
api.add_unique_identity(self.db, 'John Doe')
api.add_unique_identity(self.db, 'Jane Rae')
api.add_organization(self.db, 'Example')
api.add_enrollment(self.db, 'John Smith', 'Example')
api.add_enrollment(self.db, 'John Doe', 'Example')
api.add_organization(self.db, 'Bitergia')
api.add_enrollment(self.db, 'John Smith', 'Bitergia')
api.add_enrollment(self.db, 'John Smith', 'Bitergia',
datetime.datetime(1999, 1, 1),
datetime.datetime(2000, 1, 1))
api.add_organization(self.db, 'LibreSoft')
api.add_enrollment(self.db, 'John Doe', 'LibreSoft')
api.add_enrollment(self.db, 'Jane Rae', 'LibreSoft')
# Delete some enrollments
api.delete_enrollment(self.db, 'John Doe', 'LibreSoft')
api.delete_enrollment(self.db, 'John Doe', 'Example')
with self.db.connect() as session:
def test_top_domains(self):
"""Check top domains option"""
# Add some domains
api.add_organization(self.db, 'Example')
api.add_domain(self.db, 'Example', 'example.com', is_top_domain=True)
api.add_domain(self.db, 'Example', 'u.example.com', is_top_domain=True)
api.add_domain(self.db, 'Example', 'es.u.example.com')
api.add_domain(self.db, 'Example', 'en.u.example.com')
api.add_organization(self.db, 'Bitergia')
api.add_domain(self.db, 'Bitergia', 'bitergia.com')
api.add_domain(self.db, 'Bitergia', 'bitergia.org')
api.add_organization(self.db, 'LibreSoft')
# Look only for top domains
doms = api.domains(self.db, top=True)
self.assertEqual(len(doms), 2)
dom0 = doms[0]
self.assertIsInstance(dom0, Domain)
self.assertEqual(dom0.domain, 'example.com')
self.assertEqual(dom0.organization.name, 'Example')
dom1 = doms[1]
self.assertIsInstance(dom1, Domain)
self.assertEqual(dom1.domain, 'u.example.com')
self.assertEqual(dom1.organization.name, 'Example')
# Look top domains of the given domain
def load_test_dataset(self):
# Add country
with self.db.connect() as session:
# Add a country
us = Country(code='US', name='United States of America', alpha3='USA')
session.add(us)
# Add organizations
api.add_organization(self.db, 'Example')
api.add_domain(self.db, 'Example', 'example.com', is_top_domain=True)
api.add_domain(self.db, 'Example', 'example.net', is_top_domain=True)
api.add_organization(self.db, 'Bitergia')
api.add_domain(self.db, 'Bitergia', 'bitergia.net', is_top_domain=True)
api.add_domain(self.db, 'Bitergia', 'bitergia.com', is_top_domain=True)
api.add_domain(self.db, 'Bitergia', 'api.bitergia.com', is_top_domain=False)
api.add_domain(self.db, 'Bitergia', 'test.bitergia.com', is_top_domain=False)
api.add_organization(self.db, 'Unknown')
# Add John Smith identity
jsmith_uuid = api.add_identity(self.db, 'scm', 'jsmith@example.com',
'John Smith', 'jsmith')
api.add_identity(self.db, 'scm', 'jsmith@example.com', 'John Smith',
uuid=jsmith_uuid)
def test_get_registry_term(self):
"""Check if it returns the info about orgs using a search term"""
api.add_organization(self.db, 'Example')
api.add_domain(self.db, 'Example', 'example.com')
api.add_domain(self.db, 'Example', 'example.org')
api.add_organization(self.db, 'Bitergia')
api.add_domain(self.db, 'Bitergia', 'bitergia.com')
api.add_organization(self.db, 'My Example')
api.add_domain(self.db, 'My Example', 'myexample.com')
# This query have to return two organizations
orgs = api.registry(self.db, 'Example')
self.assertEqual(len(orgs), 2)
# Example organization
org = orgs[0]
self.assertIsInstance(org, Organization)
self.assertEqual(org.name, 'Example')
self.assertEqual(len(org.domains), 2)
domains = org.domains
domains.sort(key=lambda x: x.domain)
dom = domains[0]