def test_clusters_creation(self): """ Verify Clusters model. """ # Make sure clusters is required self.assertRaises(TypeError, clusters.Clusters) # Make sure an empty Clusters is still valid clusters_model = clusters.Clusters(clusters=[]) self.assertEquals('[]', clusters_model.to_json()) # Make sure a Cluster is accepted as expected clusters_model = clusters.Clusters(clusters=[ clusters.Cluster(status='ok', hosts={ 'total': 1, 'available': 1, 'unavailable': 0 }) ]) self.assertEquals(1, len(clusters_model.clusters)) self.assertEquals(type(str()), type(clusters_model.to_json())) # Make sure other instances are not accepted clusters_model = clusters.Clusters(clusters=[object()])
def test_clusters_listing_with_no_clusters(self): """ Verify listing Clusters when no clusters exist. """ with mock.patch('cherrypy.engine.publish') as _publish: return_value = clusters.Clusters(clusters=[]) manager = mock.MagicMock(StoreHandlerManager) manager.list.return_value = return_value _publish.return_value = [manager] body = self.simulate_request('/api/v0/clusters') self.assertEqual(self.srmock.status, falcon.HTTP_200) self.assertEqual({}, json.loads(body[0]))
def test_clusters_listing(self): """ Verify listing Clusters. """ with mock.patch('cherrypy.engine.publish') as _publish: manager = mock.MagicMock(StoreHandlerManager) _publish.return_value = [manager] return_value = clusters.Clusters(clusters=[ clusters.Cluster.new( name=self.cluster_name, status='', hostset=[]) ]) manager.list.return_value = return_value body = self.simulate_request('/api/v0/clusters') self.assertEqual(falcon.HTTP_200, self.srmock.status) self.assertEqual([self.cluster_name], json.loads(body[0]))