def testSearchWithWhitelistedLabelReturnsSubSet(self): result = self.handler.Handle( client_plugin.ApiSearchClientsArgs(query="label:foo"), token=self.token) self.assertEqual(len(result.items), 1) self.assertEqual(result.items[0].urn, self.client_ids[0]) result = self.handler.Handle( client_plugin.ApiSearchClientsArgs(query="label:bar"), token=self.token) self.assertEqual(len(result.items), 1) self.assertEqual(result.items[0].urn, self.client_ids[3])
def testSearchWithBlacklistedClientIdsReturnsNothing(self): result = self.handler.Handle(client_plugin.ApiSearchClientsArgs( query=self.client_ids[1].Basename()), token=self.token) self.assertFalse(result.items) result = self.handler.Handle(client_plugin.ApiSearchClientsArgs( query=self.client_ids[2].Basename()), token=self.token) self.assertFalse(result.items)
def testSearchWithWhitelistedClientIdsReturnsSubSet(self): result = self.handler.Handle(client_plugin.ApiSearchClientsArgs( query=self.client_ids[0].Basename()), token=self.token) self.assertEqual(len(result.items), 1) self.assertEqual(result.items[0].urn, self.client_ids[0]) result = self.handler.Handle(client_plugin.ApiSearchClientsArgs( query=self.client_ids[3].Basename()), token=self.token) self.assertEqual(len(result.items), 1) self.assertEqual(result.items[0].urn, self.client_ids[3])
def testSearchWithoutArgsReturnsOnlyClientsWithWhitelistedLabels(self): result = self.handler.Handle(client_plugin.ApiSearchClientsArgs(), token=self.token) self.assertEqual(len(result.items), 2) sorted_items = sorted(result.items, key=lambda r: r.urn) self.assertEqual(sorted_items[0].urn, self.client_ids[0]) self.assertEqual(sorted_items[1].urn, self.client_ids[3])
def Run(self): # Fix the time to avoid regressions. with test_lib.FakeTime(42): if data_store.RelationalDBReadEnabled(): client_obj = self.SetupTestClientObject(0) client_id = client_obj.client_id else: client_urn = self.SetupClient(0, add_cert=False) client_id = client_urn.Basename() self.Check( "SearchClients", args=client_plugin.ApiSearchClientsArgs(query=client_id))
def Run(self): # Fix the time to avoid regressions. with test_lib.FakeTime(42): client_ids = self.SetupClients(1) # Delete the certificate as it's being regenerated every time the # client is created. with aff4.FACTORY.Open(client_ids[0], mode="rw", token=self.token) as grr_client: grr_client.DeleteAttribute(grr_client.Schema.CERT) self.Check("SearchClients", args=client_plugin.ApiSearchClientsArgs( query=client_ids[0].Basename()))
def testSearchWithNonWhitelistedLabelReturnsNothing(self): result = self.handler.Handle( client_plugin.ApiSearchClientsArgs(query="label:not-foo"), token=self.token) self.assertFalse(result.items)