def testAggregatedList(self): lister_patcher = mock.patch( 'googlecloudsdk.api_lib.compute.lister.GetZonalResourcesDicts', autospec=True) self.addCleanup(lister_patcher.stop) self.mock_get_zonal_resources = lister_patcher.start() self.mock_get_zonal_resources.return_value = [1, 2, 3] self.api_mock = utils.ComputeApiMock('v1').Start() self.addCleanup(self.api_mock.Stop) resource_registry = resources.REGISTRY.Clone() resource_registry.RegisterApiByName('compute', 'v1') project = resource_registry.Parse( 'https://compute.googleapis.com/compute/v1/projects/lister-project') frontend = lister._Frontend('filter', 123, lister.AllScopes([project], True, False)) zonal_lister = lister.ZonalLister(self.api_mock.adapter, 'service') result = list(zonal_lister(frontend)) self.assertListEqual(result, [1, 2, 3]) self.mock_get_zonal_resources.assert_called_once_with( service='service', project=self.Project(), requested_zones=[], filter_expr='filter', http=self.api_mock.adapter.apitools_client.http, batch_url=self.api_mock.adapter.batch_url, errors=[])
def Run(self, args): holder = base_classes.ComputeApiHolder(self.ReleaseTrack()) client = holder.client request_data = lister.ParseZonalFlags(args, holder.resources) list_implementation = lister.ZonalLister(client, client.apitools_client.disks) return lister.Invoke(request_data, list_implementation)
def Run(self, args): holder = base_classes.ComputeApiHolder(self.ReleaseTrack()) client = holder.client request_data = lister.ParseZonalFlags(args, holder.resources) list_implementation = lister.ZonalLister( client, client.apitools_client.instanceGroups) results = lister.Invoke(request_data, list_implementation) results = (resource for resource in results if 'zone' in resource) return instance_groups_utils.ComputeInstanceGroupManagerMembership( compute_holder=holder, items=results, filter_mode=instance_groups_utils.InstanceGroupFilteringMode. ONLY_UNMANAGED_GROUPS)
def testComplex(self): self.api_mock = utils.ComputeApiMock('v1').Start() self.addCleanup(self.api_mock.Stop) self.ExpectListerInvoke( scope_set=self.MakeZoneSet(['my-zone']), filter_expr='name eq ".*(asdf).*"', max_results=None, result=[], with_implementation=lister.ZonalLister( self.api_mock.adapter, self.api_mock.adapter.apitools_client.machineTypes)) result = list( self.Run('compute machine-types list ' '--page-size=123 ' '--filter="name ~ asdf" ' '--zones=my-zone ' '--format=disable')) self.assertEqual(result, [])