Ejemplo n.º 1
0
 def test_check_wildcard_access_with_restrictions(self):
     """Test check restrictions returns True when 1 provider is restricted."""
     self.test_read_access = {
         "aws.account": {
             "read": ["999999999"]
         },
         "azure.subscription_guid": {
             "read": ["*"]
         }
     }
     fake_request = Mock(
         spec=HttpRequest,
         user=Mock(access=self.test_read_access,
                   customer=Mock(schema_name="acct10001")),
         GET=Mock(urlencode=Mock(return_value="")),
     )
     fake_view = Mock(
         spec=ReportView,
         provider=Provider.OCP_ALL,
         query_handler=Mock(provider=Provider.OCP_ALL),
         report=self.FAKE.word(),
         serializer=Mock,
         tag_handler=[],
     )
     with patch("reporting.models.OCPAllCostLineItemDailySummary.objects",
                return_value=[]):
         params = QueryParameters(fake_request, fake_view)
         access_list = params._get_providers(Provider.OCP_ALL.lower())
         result = params._check_restrictions(access_list)
     self.assertTrue(result)
Ejemplo n.º 2
0
 def test_get_providers(self):
     """Test get providers returns the correct access keys."""
     fake_request = Mock(
         spec=HttpRequest,
         user=Mock(access=Mock(get=lambda key, default: default), customer=Mock(schema_name="acct10001")),
         GET=Mock(urlencode=Mock(return_value="")),
     )
     fake_view = Mock(
         spec=ReportView,
         provider=self.FAKE.word(),
         query_handler=Mock(provider=random.choice(PROVIDERS)),
         report=self.FAKE.word(),
         serializer=Mock,
         tag_handler=[],
     )
     params = QueryParameters(fake_request, fake_view)
     for provider in PROVIDERS:
         provider = provider.lower()
         with self.subTest(provider=provider):
             temp = params._get_providers(provider)
             result = []
             for res in temp:
                 result.append(res[2])
             expected = ACCESS_KEYS[provider]
             self.assertEqual(sorted(result), sorted(expected))
Ejemplo n.º 3
0
 def test_check_wildcard_access_with_ocp_restrictions(self):
     """Test check restrictions returns False when non-ocp have wildcard, but ocp is restricted."""
     self.test_read_access = {
         "aws.account": {
             "read": ["*"]
         },
         "aws.organizational_unit": {
             "read": ["*"]
         },
         "azure.subscription_guid": {
             "read": ["*"]
         },
         "openshift.cluster": {
             "read": ["my-ocp-cluster"]
         },
     }
     fake_request = Mock(
         spec=HttpRequest,
         user=Mock(access=self.test_read_access,
                   customer=Mock(schema_name="acct10001")),
         GET=Mock(urlencode=Mock(return_value="")),
     )
     fake_view = Mock(
         spec=ReportView,
         provider=Provider.OCP_ALL,
         query_handler=Mock(provider=Provider.OCP_ALL),
         report=self.FAKE.word(),
         serializer=Mock,
         tag_handler=[],
     )
     params = QueryParameters(fake_request, fake_view)
     access_list = params._get_providers(Provider.OCP_ALL.lower())
     result = params._check_restrictions(access_list)
     self.assertFalse(result)
Ejemplo n.º 4
0
 def test_get_providers_with_nonsense_provider(self):
     """Test get providers raises validation error with nonsense provider."""
     fake_request = Mock(
         spec=HttpRequest,
         user=Mock(access=Mock(get=lambda key, default: default), customer=Mock(schema_name="acct10001")),
         GET=Mock(urlencode=Mock(return_value="")),
     )
     fake_view = Mock(
         spec=ReportView,
         provider=self.FAKE.word(),
         query_handler=Mock(provider=random.choice(PROVIDERS)),
         report=self.FAKE.word(),
         serializer=Mock,
         tag_handler=[],
     )
     params = QueryParameters(fake_request, fake_view)
     with self.assertRaises(ValidationError):
         params._get_providers("nonsense")