Exemple #1
0
    def test_get_health_ok(self, mock_get_projects):
        mock_get_projects.return_value = [
            {
                'id': '111',
                'name': 'project_1',
                'description': ''
            },
            {
                'id': '222',
                'name': 'project_2',
                'description': ''
            },
        ]

        # Insert projects in the database.
        project_1_collect = datetime.utcnow() - timedelta(hours=1)
        db_api.project_add(
            {
                'id': '111',
                'name': 'project_1',
                'description': '',
            }, project_1_collect)
        project_2_collect = datetime.utcnow() - timedelta(hours=2)
        db_api.project_add(
            {
                'id': '222',
                'name': 'project_2',
                'description': '',
            }, project_2_collect)

        ret = health.get_health()

        self.assertEqual('OK', ret['usage_collection'].get('status'))
Exemple #2
0
    def test_get_health_ok(self, mock_get_projects):
        mock_get_projects.return_value = [
            {'id': '111', 'name': 'project_1', 'description': ''},
            {'id': '222', 'name': 'project_2', 'description': ''},
        ]

        # Insert projects in the database.
        project_1_collect = datetime.utcnow() - timedelta(hours=1)
        db_api.project_add(
            {
                'id': '111',
                'name': 'project_1',
                'description': '',
            },
            project_1_collect
        )
        project_2_collect = datetime.utcnow() - timedelta(hours=2)
        db_api.project_add(
            {
                'id': '222',
                'name': 'project_2',
                'description': '',
            },
            project_2_collect
        )

        ret = health.get_health()

        self.assertEqual('OK', ret['usage_collection'].get('status'))
Exemple #3
0
    def test_get_health_with_ignore_tenants(self, mock_get_projects):
        self.override_config('collector', ignore_tenants=['project_2'])
        mock_get_projects.return_value = [
            {
                'id': '111',
                'name': 'project_1',
                'description': ''
            },
            {
                'id': '222',
                'name': 'project_2',
                'description': ''
            },
        ]

        # Insert projects in the database.
        project_1_collect = datetime.utcnow() - timedelta(days=2)
        db_api.project_add(
            {
                'id': '111',
                'name': 'project_1',
                'description': '',
            }, project_1_collect)
        project_2_collect = datetime.utcnow() - timedelta(hours=25)
        db_api.project_add(
            {
                'id': '222',
                'name': 'project_2',
                'description': '',
            }, project_2_collect)

        ret = health.get_health()

        self.assertEqual('FAIL', ret['usage_collection'].get('status'))
        self.assertIn('1', ret['usage_collection'].get('msg'))
Exemple #4
0
    def test_get_health_with_ignore_tenants(self, mock_get_projects):
        self.override_config('collector', ignore_tenants=['project_2'])
        mock_get_projects.return_value = [
            {'id': '111', 'name': 'project_1', 'description': ''},
            {'id': '222', 'name': 'project_2', 'description': ''},
        ]

        # Insert projects in the database.
        project_1_collect = datetime.utcnow() - timedelta(days=2)
        db_api.project_add(
            {
                'id': '111',
                'name': 'project_1',
                'description': '',
            },
            project_1_collect
        )
        project_2_collect = datetime.utcnow() - timedelta(hours=25)
        db_api.project_add(
            {
                'id': '222',
                'name': 'project_2',
                'description': '',
            },
            project_2_collect
        )

        ret = health.get_health()

        self.assertEqual('FAIL', ret['usage_collection'].get('status'))
        self.assertIn('1', ret['usage_collection'].get('msg'))
Exemple #5
0
    def test_get_health_with_erp_backend_fail(self, mock_get_projects,
                                              mock_odoo):
        new = mock.MagicMock()
        new.db.list.side_effect = Exception('Boom!')
        mock_odoo.return_value = new
        # mock_odoo.side_effect = ValueError
        ret = health.get_health()

        self.assertEqual('FAIL', ret['erp_backend'].get('status'))
Exemple #6
0
    def test_get_health_with_erp_backend_fail(self, mock_get_projects,
                                              mock_odoo):
        new = mock.MagicMock()
        new.db.list.side_effect = Exception('Boom!')
        mock_odoo.return_value = new
        # mock_odoo.side_effect = ValueError
        ret = health.get_health()

        self.assertEqual('FAIL', ret['erp_backend'].get('status'))
Exemple #7
0
    def test_get_health_fail(self, mock_get_projects):
        mock_get_projects.return_value = [
            {
                'id': '111',
                'name': 'project_1',
                'description': ''
            },
            {
                'id': '222',
                'name': 'project_2',
                'description': ''
            },
        ]

        # Insert projects in the database.
        project_1_collect = datetime.utcnow() - timedelta(days=2)
        db_api.project_add(
            {
                'id': '111',
                'name': 'project_1',
                'description': '',
            }, project_1_collect)
        project_2_collect = datetime.utcnow() - timedelta(hours=25)
        db_api.project_add(
            {
                'id': '222',
                'name': 'project_2',
                'description': '',
            }, project_2_collect)

        ret = health.get_health()
        projects = ret['usage_collection'].get('failed_projects')

        self.assertIsNotNone(projects)
        self.assertEqual(2, len(projects))
        self.assertEqual('FAIL', ret['usage_collection'].get('status'))
        self.assertIn('2', ret['usage_collection'].get('msg'))

        p_names = [p['name'] for p in projects]
        p_ids = [p['id'] for p in projects]

        self.assertEqual(["project_1", "project_2"], p_names)
        self.assertEqual(["111", "222"], p_ids)
Exemple #8
0
    def test_get_health_fail(self, mock_get_projects):
        mock_get_projects.return_value = [
            {'id': '111', 'name': 'project_1', 'description': ''},
            {'id': '222', 'name': 'project_2', 'description': ''},
        ]

        # Insert projects in the database.
        project_1_collect = datetime.utcnow() - timedelta(days=2)
        db_api.project_add(
            {
                'id': '111',
                'name': 'project_1',
                'description': '',
            },
            project_1_collect
        )
        project_2_collect = datetime.utcnow() - timedelta(hours=25)
        db_api.project_add(
            {
                'id': '222',
                'name': 'project_2',
                'description': '',
            },
            project_2_collect
        )

        ret = health.get_health()
        projects = ret['usage_collection'].get('failed_projects')

        self.assertIsNotNone(projects)
        self.assertEqual(2, len(projects))
        self.assertEqual('FAIL', ret['usage_collection'].get('status'))
        self.assertIn('2', ret['usage_collection'].get('msg'))

        p_names = [p['name'] for p in projects]
        p_ids = [p['id'] for p in projects]

        self.assertEqual(["project_1", "project_2"], p_names)
        self.assertEqual(["111", "222"], p_ids)
Exemple #9
0
    def test_get_health_with_erp_backend(self, mock_get_projects, mock_odoo):
        ret = health.get_health()

        self.assertEqual('OK', ret['erp_backend'].get('status'))
Exemple #10
0
def health_get():
    return api.render(health=health.get_health())
Exemple #11
0
    def test_get_health_with_erp_backend(self, mock_get_projects, mock_odoo):
        ret = health.get_health()

        self.assertEqual('OK', ret['erp_backend'].get('status'))