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()])
Exemplo n.º 2
0
    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]))
Exemplo n.º 3
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]))