コード例 #1
0
  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=[])
コード例 #2
0
ファイル: list.py プロジェクト: jphalip/google-cloud-sdk
    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)
コード例 #3
0
ファイル: list.py プロジェクト: Guliux10/bchacks_deepbreath
    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)
コード例 #4
0
    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, [])