Ejemplo n.º 1
0
 def _get_or_create_host(cls, hostname, create=True):
     try:
         return Host.get(Host.hostname == hostname), False
     except DoesNotExist:
         if create:
             return Host.create(hostname=hostname), True
         return None, None
Ejemplo n.º 2
0
 def _get_or_create_host(cls, hostname, create=True):
     try:
         return Host.get(Host.hostname == hostname), False
     except DoesNotExist:
         if create:
             return Host.create(hostname=hostname), True
         return None, None
Ejemplo n.º 3
0
    def test_database(self):
        initialize_database(":memory:", reset=True)

        cdn1 = CDN.create(id="cdn1", name="Sample CDN", edge_server="1.2.3.4")
        cdn2 = CDN.create(id="cdn2", name="Sample CDN2", edge_server="1.2.3.5")
        host1 = Host.create(hostname="first.host", cdn=cdn1)
        host2 = Host.create(hostname="second.host", cdn=cdn2)
        host3 = Host.create(hostname="third.host", cdn=cdn1)

        self.assertEqual([host1, host2, host3], list(Host.select()))
        self.assertEqual([host1, host3], Host.select().where(Host.cdn == cdn1))
        self.assertEqual([host1, host3], Host.select().join(CDN).where(CDN.id == 'cdn1'))
        self.assertEqual(host2, Host.get(Host.cdn == cdn2))

        self.assertEqual([], CDN.select().where(CDN.id == "doesntexist"))
        with self.assertRaises(DoesNotExist):
            CDN.get(CDN.id == "doesntexist")
Ejemplo n.º 4
0
 def test_unavailable_host__host_in_db__available_cdn__cdn_in_db_with_no_edge(self):
     cdn = CDN.create(id="thecdn")
     Host.create(hostname="host.db", cdn=cdn)
     self.bootstrapper.bootstrap('host.db')
Ejemplo n.º 5
0
    def test_unavailable_host__host_in_db__unavailable_cdn__cdn_in_db_with_no_edge(self):
        cdn = CDN.create(id="missingcdn")
        Host.create(hostname="host.db", cdn=cdn)

        with self.assertRaises(CDNNotAvailableError):
            self.bootstrapper.bootstrap('missingcdn.host')