示例#1
0
 def test_internal_alerts_same_as_last_alerts_are_added_to_history(self):
     test_alerts = {'alerts': ['hello', 'world']}
     alerts.AlertsJSON(json=json.dumps(test_alerts), type='alerts').put()
     self.testapp.post('/internal-alerts',
                       {'content': json.dumps(test_alerts)})
     alerts_query = alerts.AlertsJSON.query()
     self.assertEqual(2, alerts_query.count(limit=3))
示例#2
0
    def test_lists_internal_alerts_to_internal_users_only(self):
        test_alert = {'alerts': ['hello', 'world', '1']}
        alerts.AlertsJSON(json=json.dumps(test_alert),
                          type='internal-alerts').put()

        # No signed-in user.
        response = self.testapp.get('/alerts-history')
        self.assertEqual(response.status_int, 200)
        self.assertEqual(response.content_type, 'application/json')
        response_json = json.loads(response.normal_body)
        self.assertEqual(len(response_json['history']), 0)

        # Non-internal user.
        self.testbed.setup_env(USER_EMAIL='*****@*****.**',
                               USER_ID='1',
                               USER_IS_ADMIN='1',
                               overwrite=True)
        response = self.testapp.get('/alerts-history')
        self.assertEqual(response.status_int, 200)
        self.assertEqual(response.content_type, 'application/json')
        response_json = json.loads(response.normal_body)
        self.assertEqual(len(response_json['history']), 0)

        # Internal user.
        self.testbed.setup_env(USER_EMAIL='*****@*****.**',
                               USER_ID='2',
                               USER_IS_ADMIN='1',
                               overwrite=True)
        response = self.testapp.get('/alerts-history')
        self.assertEqual(response.status_int, 200)
        self.assertEqual(response.content_type, 'application/json')
        response_json = json.loads(response.normal_body)
        self.assertEqual(len(response_json['history']), 1)
示例#3
0
    def test_internal_alerts_can_only_retrieved_by_internal_users(self):
        test_alert = {'alerts': ['hello', 'world', '1']}
        internal_alert = alerts.AlertsJSON(json=json.dumps(test_alert),
                                           type='internal-alerts')
        internal_alert_key = internal_alert.put().integer_id()

        # No signed-in user.
        response = self.testapp.get('/alerts-history/%s' % internal_alert_key,
                                    expect_errors=True)
        self.assertEqual(response.status_int, 404)
        self.assertEqual(response.content_type, 'application/json')
        parsed_json = json.loads(response.normal_body)
        self.assertNotIn('alerts', parsed_json)

        # Non-internal user.
        self.testbed.setup_env(USER_EMAIL='*****@*****.**',
                               USER_ID='1',
                               USER_IS_ADMIN='1',
                               overwrite=True)
        response = self.testapp.get('/alerts-history/%s' % internal_alert_key,
                                    expect_errors=True)
        self.assertEqual(response.status_int, 404)
        self.assertEqual(response.content_type, 'application/json')
        parsed_json = json.loads(response.normal_body)
        self.assertNotIn('alerts', parsed_json)
示例#4
0
    def test_alerts_jsons_are_retrieved_from_history(self):
        test_alert = {'alerts': ['hello', 'world', '1']}
        alerts.AlertsJSON(json=json.dumps(test_alert), type='alerts').put()
        response = self.testapp.get('/alerts-history')
        self.assertEqual(response.status_int, 200)
        self.assertEqual(response.content_type, 'application/json')
        parsed_json = json.loads(response.normal_body)
        self.assertEqual(len(parsed_json['history']), 1)

        entry_id = parsed_json['history'][0]
        response = self.testapp.get('/alerts-history/%s' % entry_id)
        self.assertEqual(response.status_int, 200)
        self.assertEqual(response.content_type, 'application/json')
        parsed_json = json.loads(response.normal_body)
        self.assertEqual(parsed_json['alerts'], test_alert['alerts'])
示例#5
0
    def test_returned_alerts_from_history_are_paged(self):
        for i in range(20):
            test_alert = {'alerts': ['hello', 'world', i]}
            alerts.AlertsJSON(json=json.dumps(test_alert), type='alerts').put()

        response = self.testapp.get('/alerts-history?limit=15')
        self.assertEqual(response.status_int, 200)
        self.assertEqual(response.content_type, 'application/json')
        response_json = json.loads(response.normal_body)
        self.assertEqual(len(response_json['history']), 15)
        self.assertEqual(response_json['has_more'], True)

        url = '/alerts-history?limit=15&cursor=%s' % response_json['cursor']
        response = self.testapp.get(url)
        self.assertEqual(response.status_int, 200)
        self.assertEqual(response.content_type, 'application/json')
        response_json = json.loads(response.normal_body)
        self.assertEqual(len(response_json['history']), 5)
        self.assertEqual(response_json['has_more'], False)