Google-Cloud-Compute-V1
view release on metacpan or search on metacpan
t/01-service-NetworkEndpointGroups.t view on Meta::CPAN
my ($class, %args) = @_;
return bless \%args, 'Google::Auth::MockCredentials';
}
package Google::Auth::MockCredentials;
sub get_token {
return 'mock-token';
}
# B. Mock Google::gRPC::Client
package Google::gRPC::Client;
BEGIN { $INC{'Google/gRPC/Client.pm'} = 1; }
sub new {
my $class = shift;
my $args = ( @_ == 1 && ref($_[0]) eq 'HASH' ) ? $_[0] : { @_ };
return bless $args, $class;
}
sub call {
my ($self, $args) = @_;
if ($self->{mock_call}) {
return $self->{mock_call}->($args);
}
die 'No mock_call handler configured in transport!';
}
# C. Fallback Mocks for External Response Classes
BEGIN {
for my $pkg (qw( Google::Cloud::Compute::V1::Compute::NetworkEndpointGroup Google::Cloud::Compute::V1::Compute::NetworkEndpointGroupAggregatedList Google::Cloud::Compute::V1::Compute::NetworkEndpointGroupList Google::Cloud::Compute::V1::Compute::...
unless ($pkg->can('new')) {
no strict 'refs';
*{"${pkg}::new"} = sub { bless {}, $_[0] };
$INC{join('/', split('::', $pkg)) . '.pm'} = 1;
}
}
}
# D. Main test execution
package main;
use Google::Cloud::Compute::V1::NetworkEndpointGroupsClient;
my $client = Google::Cloud::Compute::V1::NetworkEndpointGroupsClient->new( credentials => 'dummy' );
ok($client, 'Instantiated generated client');
isa_ok($client->transport, 'Google::gRPC::Client', 'Client transport');
subtest 'aggregated_list method' => sub {
$client->transport->{mock_call} = sub {
my ($args) = @_;
is($args->{service}, 'google.cloud.compute.v1.NetworkEndpointGroups', 'Correct service path');
is($args->{method}, 'AggregatedList', 'Correct RPC method');
isa_ok($args->{request}, 'Google::Cloud::Compute::V1::Compute::AggregatedListNetworkEndpointGroupsRequest', 'Request object');
my $response = 'Google::Cloud::Compute::V1::Compute::NetworkEndpointGroupAggregatedList'->new();
return $response;
};
my $res = $client->aggregated_list();
ok($res, 'Method returned a response');
isa_ok($res, 'Google::Cloud::Compute::V1::Compute::NetworkEndpointGroupAggregatedList', 'Response object class');
done_testing();
};
subtest 'attach_network_endpoints method' => sub {
$client->transport->{mock_call} = sub {
my ($args) = @_;
is($args->{service}, 'google.cloud.compute.v1.NetworkEndpointGroups', 'Correct service path');
is($args->{method}, 'AttachNetworkEndpoints', 'Correct RPC method');
isa_ok($args->{request}, 'Google::Cloud::Compute::V1::Compute::AttachNetworkEndpointsNetworkEndpointGroupRequest', 'Request object');
my $response = 'Google::Cloud::Compute::V1::Compute::Operation'->new();
return $response;
};
my $res = $client->attach_network_endpoints();
ok($res, 'Method returned a response');
isa_ok($res, 'Google::Cloud::Compute::V1::Compute::Operation', 'Response object class');
done_testing();
};
subtest 'delete method' => sub {
$client->transport->{mock_call} = sub {
my ($args) = @_;
is($args->{service}, 'google.cloud.compute.v1.NetworkEndpointGroups', 'Correct service path');
is($args->{method}, 'Delete', 'Correct RPC method');
isa_ok($args->{request}, 'Google::Cloud::Compute::V1::Compute::DeleteNetworkEndpointGroupRequest', 'Request object');
my $response = 'Google::Cloud::Compute::V1::Compute::Operation'->new();
return $response;
};
my $res = $client->delete();
ok($res, 'Method returned a response');
isa_ok($res, 'Google::Cloud::Compute::V1::Compute::Operation', 'Response object class');
done_testing();
};
subtest 'detach_network_endpoints method' => sub {
$client->transport->{mock_call} = sub {
my ($args) = @_;
is($args->{service}, 'google.cloud.compute.v1.NetworkEndpointGroups', 'Correct service path');
is($args->{method}, 'DetachNetworkEndpoints', 'Correct RPC method');
isa_ok($args->{request}, 'Google::Cloud::Compute::V1::Compute::DetachNetworkEndpointsNetworkEndpointGroupRequest', 'Request object');
my $response = 'Google::Cloud::Compute::V1::Compute::Operation'->new();
return $response;
};
my $res = $client->detach_network_endpoints();
ok($res, 'Method returned a response');
isa_ok($res, 'Google::Cloud::Compute::V1::Compute::Operation', 'Response object class');
done_testing();
};
subtest 'get method' => sub {
$client->transport->{mock_call} = sub {
my ($args) = @_;
is($args->{service}, 'google.cloud.compute.v1.NetworkEndpointGroups', 'Correct service path');
is($args->{method}, 'Get', 'Correct RPC method');
isa_ok($args->{request}, 'Google::Cloud::Compute::V1::Compute::GetNetworkEndpointGroupRequest', 'Request object');
my $response = 'Google::Cloud::Compute::V1::Compute::NetworkEndpointGroup'->new();
return $response;
};
my $res = $client->get();
ok($res, 'Method returned a response');
isa_ok($res, 'Google::Cloud::Compute::V1::Compute::NetworkEndpointGroup', 'Response object class');
done_testing();
};
subtest 'insert method' => sub {
$client->transport->{mock_call} = sub {
my ($args) = @_;
is($args->{service}, 'google.cloud.compute.v1.NetworkEndpointGroups', 'Correct service path');
is($args->{method}, 'Insert', 'Correct RPC method');
isa_ok($args->{request}, 'Google::Cloud::Compute::V1::Compute::InsertNetworkEndpointGroupRequest', 'Request object');
my $response = 'Google::Cloud::Compute::V1::Compute::Operation'->new();
return $response;
};
my $res = $client->insert();
ok($res, 'Method returned a response');
isa_ok($res, 'Google::Cloud::Compute::V1::Compute::Operation', 'Response object class');
done_testing();
};
subtest 'list method' => sub {
$client->transport->{mock_call} = sub {
my ($args) = @_;
is($args->{service}, 'google.cloud.compute.v1.NetworkEndpointGroups', 'Correct service path');
is($args->{method}, 'List', 'Correct RPC method');
isa_ok($args->{request}, 'Google::Cloud::Compute::V1::Compute::ListNetworkEndpointGroupsRequest', 'Request object');
my $response = 'Google::Cloud::Compute::V1::Compute::NetworkEndpointGroupList'->new();
return $response;
};
my $res = $client->list();
ok($res, 'Method returned a response');
isa_ok($res, 'Google::Cloud::Compute::V1::Compute::NetworkEndpointGroupList', 'Response object class');
done_testing();
};
subtest 'list_network_endpoints method' => sub {
$client->transport->{mock_call} = sub {
my ($args) = @_;
is($args->{service}, 'google.cloud.compute.v1.NetworkEndpointGroups', 'Correct service path');
is($args->{method}, 'ListNetworkEndpoints', 'Correct RPC method');
isa_ok($args->{request}, 'Google::Cloud::Compute::V1::Compute::ListNetworkEndpointsNetworkEndpointGroupsRequest', 'Request object');
my $response = 'Google::Cloud::Compute::V1::Compute::NetworkEndpointGroupsListNetworkEndpoints'->new();
return $response;
};
my $res = $client->list_network_endpoints();
ok($res, 'Method returned a response');
isa_ok($res, 'Google::Cloud::Compute::V1::Compute::NetworkEndpointGroupsListNetworkEndpoints', 'Response object class');
done_testing();
};
subtest 'test_iam_permissions method' => sub {
$client->transport->{mock_call} = sub {
my ($args) = @_;
is($args->{service}, 'google.cloud.compute.v1.NetworkEndpointGroups', 'Correct service path');
is($args->{method}, 'TestIamPermissions', 'Correct RPC method');
isa_ok($args->{request}, 'Google::Cloud::Compute::V1::Compute::TestIamPermissionsNetworkEndpointGroupRequest', 'Request object');
my $response = 'Google::Cloud::Compute::V1::Compute::TestPermissionsResponse'->new();
return $response;
};
my $res = $client->test_iam_permissions();
ok($res, 'Method returned a response');
isa_ok($res, 'Google::Cloud::Compute::V1::Compute::TestPermissionsResponse', 'Response object class');
done_testing();
};
done_testing();
( run in 0.615 second using v1.01-cache-2.11-cpan-f03e8824b8d )