Example #1
0
    def test_get_cached_client(self):
        """
        Test getting a cached rapi
        
        Verifies:
            * rapi returned is the same as the cached rapi
        """
        cluster = self.cluster
        rapi = get_rapi(cluster.hash, cluster.id)
        self.assertTrue(rapi)
        self.assertTrue(isinstance(rapi, (client.GanetiRapiClient,)))

        cached_rapi = get_rapi(cluster.hash, cluster)
        self.assertEqual(rapi, cached_rapi)

        cached_rapi = get_rapi(cluster.hash, cluster.id)
        self.assertEqual(rapi, cached_rapi)
Example #2
0
    def test_stale_hash(self):
        """
        Tests an object with a stale hash
        
        Verifies:
            * a rapi is created and stored using the current credentials
        """
        cluster = self.cluster
        stale_cluster = Cluster.objects.get(id=cluster.id)
        cluster.hostname = "a.different.hostname"
        cluster.save()
        clear_rapi_cache()
        stale_rapi = get_rapi(stale_cluster.hash, stale_cluster)
        self.assertTrue(stale_rapi)
        self.assertTrue(isinstance(stale_rapi, (client.GanetiRapiClient,)))

        fresh_rapi = get_rapi(cluster.hash, cluster)
        self.assertEqual(stale_rapi, fresh_rapi)
Example #3
0
 def test_stale_hash_new_already_created(self):
     """
     Tests an object with a stale hash, but the new client was already
     created
     
     Verifies:
         * Existing client, with current hash, is returned
     """
     cluster = self.cluster
     stale_cluster = Cluster.objects.get(id=cluster.id)
     cluster.hostname = "a.different.hostname"
     cluster.save()
     clear_rapi_cache()
     fresh_rapi = get_rapi(cluster.hash, cluster)
     stale_rapi = get_rapi(stale_cluster.hash, stale_cluster)
     self.assertTrue(stale_rapi)
     self.assertTrue(isinstance(stale_rapi, (client.GanetiRapiClient,)))
     self.assertEqual(stale_rapi, fresh_rapi)
Example #4
0
 def test_get_with_id(self):
     """
     Test getting a new rapi for a cluster by cluster ID
     Verifies:
         * rapi is returned
     """
     cluster = self.cluster
     rapi = get_rapi(cluster.hash, cluster.id)
     self.assertTrue(rapi)
     self.assertTrue(isinstance(rapi, (client.GanetiRapiClient,)))
Example #5
0
    def test_get_changed_hash(self):
        """
        Test getting rapi after hash has changed
        
        Verifies:
            * a new rapi is created and returned
            * old rapi is removed from cache
            * reverse cache is now pointing to new hash
        """
        cluster = self.cluster
        old_hash = cluster.hash
        rapi = get_rapi(cluster.hash, cluster)

        cluster.hostname = "a.different.hostname"
        cluster.save()
        self.assertNotEqual(old_hash, cluster.hash, "new hash was not created")
        new_rapi = get_rapi(cluster.hash, cluster)
        self.assertTrue(rapi)
        self.assertTrue(isinstance(rapi, (client.GanetiRapiClient,)))
        self.assertNotEqual(rapi, new_rapi)
        self.assertFalse(old_hash in RAPI_CACHE, "old rapi client was not removed")