def test_endpoint_queries_no_data(self): user3 = User.objects.get(username='******') self.request.user = user3 product_types = [] endpoint_queries = views.endpoint_querys(product_types, self.request) self.assertSequenceEqual( endpoint_queries['all'].values(), [], )
def test_endpoint_queries(self): # Queries over Finding and Endpoint_Status with self.assertNumQueries(67): product_types = [] endpoint_queries = views.endpoint_querys(product_types, self.request) self.assertSequenceEqual(list(endpoint_queries.keys()), [ 'all', 'closed', 'accepted', 'accepted_count', 'top_ten', 'monthly_counts', 'weekly_counts', 'weeks_between', 'start_date', 'end_date', ]) # Assert that we get expected querysets back. This is to be used to # support refactoring, in attempt of lowering the query count. if settings.FEATURE_AUTHORIZATION_V2: self.assertSequenceEqual( endpoint_queries['all'].values(), [{ 'id': 1, 'date': datetime(2020, 7, 1, 0, 0, tzinfo=timezone.utc), 'last_modified': datetime(2020, 7, 1, 17, 45, 39, 791907, tzinfo=timezone.utc), 'mitigated': False, 'mitigated_time': None, 'mitigated_by_id': None, 'false_positive': False, 'out_of_scope': False, 'risk_accepted': False, 'endpoint_id': 2, 'finding_id': 2, 'endpoint__product__prod_type__member': False, 'endpoint__product__member': True }], ) else: self.assertSequenceEqual( endpoint_queries['all'].values(), [{ 'id': 1, 'date': datetime(2020, 7, 1, 0, 0, tzinfo=timezone.utc), 'last_modified': datetime(2020, 7, 1, 17, 45, 39, 791907, tzinfo=timezone.utc), 'mitigated': False, 'mitigated_time': None, 'mitigated_by_id': None, 'false_positive': False, 'out_of_scope': False, 'risk_accepted': False, 'endpoint_id': 2, 'finding_id': 2 }], ) self.assertSequenceEqual( endpoint_queries['closed'].values(), [], ) self.assertSequenceEqual( endpoint_queries['accepted'].values(), [], ) self.assertSequenceEqual( list(endpoint_queries['accepted_count'].values()), [None, None, None, None, None, None], ) self.assertSequenceEqual( endpoint_queries['top_ten'].values(), [], ) self.assertSequenceEqual( list(endpoint_queries['monthly_counts'].values()), [[ [ 'Timestamp', 'Date', 'S0', 'S1', 'S2', 'S3', 'Total', 'Closed' ], [ 1590969600000, datetime(2020, 6, 1, 0, 0, tzinfo=timezone.utc), 0, 0, 0, 0, 0, 0 ], [ 1593561600000, datetime(2020, 7, 1, 0, 0, tzinfo=timezone.utc), 0, 1, 0, 0, 1, 0 ], ], [[ 'Timestamp', 'Date', 'S0', 'S1', 'S2', 'S3', 'Total', 'Closed' ], [ 1590969600000, datetime(2020, 6, 1, 0, 0, tzinfo=timezone.utc), 0, 0, 0, 0, 0 ], [ 1593561600000, datetime(2020, 7, 1, 0, 0, tzinfo=timezone.utc), 0, 0, 0, 0, 0 ]], [ [ 'Timestamp', 'Date', 'S0', 'S1', 'S2', 'S3', 'Total', 'Closed' ], [ 1590969600000, datetime(2020, 6, 1, 0, 0, tzinfo=timezone.utc), 0, 0, 0, 0, 0 ], [ 1593561600000, datetime(2020, 7, 1, 0, 0, tzinfo=timezone.utc), 0, 1, 0, 0, 1 ], ]], ) self.assertSequenceEqual( list(endpoint_queries['weekly_counts'].values()), [[[ 'Timestamp', 'Date', 'S0', 'S1', 'S2', 'S3', 'Total', 'Closed' ], [ 1593388800000, datetime(2020, 6, 29, 0, 0, tzinfo=timezone.utc), 0, 1, 0, 0, 1, 0 ], [ 1593993600000, datetime(2020, 7, 6, 0, 0, tzinfo=timezone.utc), 0, 0, 0, 0, 0, 0 ], [ 1594598400000, datetime(2020, 7, 13, 0, 0, tzinfo=timezone.utc), 0, 0, 0, 0, 0, 0 ]], [[ 'Timestamp', 'Date', 'S0', 'S1', 'S2', 'S3', 'Total', 'Closed' ], [ 1593388800000, datetime(2020, 6, 29, 0, 0, tzinfo=timezone.utc), 0, 0, 0, 0, 0 ], [ 1593993600000, datetime(2020, 7, 6, 0, 0, tzinfo=timezone.utc), 0, 0, 0, 0, 0 ], [ 1594598400000, datetime(2020, 7, 13, 0, 0, tzinfo=timezone.utc), 0, 0, 0, 0, 0 ]], [[ 'Timestamp', 'Date', 'S0', 'S1', 'S2', 'S3', 'Total', 'Closed' ], [ 1593388800000, datetime(2020, 6, 29, 0, 0, tzinfo=timezone.utc), 0, 1, 0, 0, 1 ], [ 1593993600000, datetime(2020, 7, 6, 0, 0, tzinfo=timezone.utc), 0, 1, 0, 0, 1 ], [ 1594598400000, datetime(2020, 7, 13, 0, 0, tzinfo=timezone.utc), 0, 1, 0, 0, 1 ]]], ) self.assertEqual(endpoint_queries['weeks_between'], 2) self.assertEqual(endpoint_queries['start_date'], datetime(2020, 7, 1, 0, 0, tzinfo=timezone.utc)) self.assertEqual(endpoint_queries['end_date'], datetime(2020, 7, 1, 0, 0, tzinfo=timezone.utc))