Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion java-billing/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ If you are using Maven with [BOM][libraries-bom], add this to your pom.xml file:
<dependency>
<groupId>com.google.cloud</groupId>
<artifactId>libraries-bom</artifactId>
<version>26.16.0</version>
<version>26.17.0</version>
<type>pom</type>
<scope>import</scope>
</dependency>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -888,7 +888,40 @@ public final ListProjectBillingInfoPagedResponse listProjectBillingInfo(
* // - It may require specifying regional endpoints when creating the service client as shown in
* // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
* try (CloudBillingClient cloudBillingClient = CloudBillingClient.create()) {
* String name = "name3373707";
* ProjectBillingInfoName name = ProjectBillingInfoName.of("[PROJECT]");
* ProjectBillingInfo response = cloudBillingClient.getProjectBillingInfo(name);
* }
* }</pre>
*
* @param name Required. The resource name of the project for which billing information is
* retrieved. For example, `projects/tokyo-rain-123`.
* @throws com.google.api.gax.rpc.ApiException if the remote call fails
*/
public final ProjectBillingInfo getProjectBillingInfo(ProjectBillingInfoName name) {
GetProjectBillingInfoRequest request =
GetProjectBillingInfoRequest.newBuilder()
.setName(name == null ? null : name.toString())
.build();
return getProjectBillingInfo(request);
}

// AUTO-GENERATED DOCUMENTATION AND METHOD.
/**
* Gets the billing information for a project. The current authenticated user must have the
* `resourcemanager.projects.get` permission for the project, which can be granted by assigning
* the [Project Viewer](https://cloud.google.com/iam/docs/understanding-roles#predefined_roles)
* role.
*
* <p>Sample code:
*
* <pre>{@code
* // This snippet has been automatically generated and should be regarded as a code template only.
* // It will require modifications to work:
* // - It may require correct/in-range values for request initialization.
* // - It may require specifying regional endpoints when creating the service client as shown in
* // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
* try (CloudBillingClient cloudBillingClient = CloudBillingClient.create()) {
* String name = ProjectBillingInfoName.of("[PROJECT]").toString();
* ProjectBillingInfo response = cloudBillingClient.getProjectBillingInfo(name);
* }
* }</pre>
Expand Down Expand Up @@ -920,7 +953,9 @@ public final ProjectBillingInfo getProjectBillingInfo(String name) {
* // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
* try (CloudBillingClient cloudBillingClient = CloudBillingClient.create()) {
* GetProjectBillingInfoRequest request =
* GetProjectBillingInfoRequest.newBuilder().setName("name3373707").build();
* GetProjectBillingInfoRequest.newBuilder()
* .setName(ProjectBillingInfoName.of("[PROJECT]").toString())
* .build();
* ProjectBillingInfo response = cloudBillingClient.getProjectBillingInfo(request);
* }
* }</pre>
Expand Down Expand Up @@ -949,7 +984,9 @@ public final ProjectBillingInfo getProjectBillingInfo(GetProjectBillingInfoReque
* // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
* try (CloudBillingClient cloudBillingClient = CloudBillingClient.create()) {
* GetProjectBillingInfoRequest request =
* GetProjectBillingInfoRequest.newBuilder().setName("name3373707").build();
* GetProjectBillingInfoRequest.newBuilder()
* .setName(ProjectBillingInfoName.of("[PROJECT]").toString())
* .build();
* ApiFuture<ProjectBillingInfo> future =
* cloudBillingClient.getProjectBillingInfoCallable().futureCall(request);
* // Do something.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
"methods": ["getIamPolicy", "getIamPolicy", "getIamPolicy", "getIamPolicyCallable"]
},
"GetProjectBillingInfo": {
"methods": ["getProjectBillingInfo", "getProjectBillingInfo", "getProjectBillingInfoCallable"]
"methods": ["getProjectBillingInfo", "getProjectBillingInfo", "getProjectBillingInfo", "getProjectBillingInfoCallable"]
},
"ListBillingAccounts": {
"methods": ["listBillingAccounts", "listBillingAccounts", "listBillingAccountsPagedCallable", "listBillingAccountsCallable"]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,7 @@
import org.junit.Assert;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Ignore;
import org.junit.Test;

@Generated("by gapic-generator-java")
Expand Down Expand Up @@ -475,18 +476,19 @@ public void listProjectBillingInfoExceptionTest2() throws Exception {
}
}

@Ignore("Ignore until https://github.com/googleapis/sdk-platform-java/issues/1780 is resolved")
@Test
public void getProjectBillingInfoTest() throws Exception {
ProjectBillingInfo expectedResponse =
ProjectBillingInfo.newBuilder()
.setName("name3373707")
.setName(ProjectBillingInfoName.of("[PROJECT]").toString())
.setProjectId("projectId-894832108")
.setBillingAccountName("billingAccountName929322205")
.setBillingEnabled(true)
.build();
mockService.addResponse(expectedResponse);

String name = "projects/project-3664";
ProjectBillingInfoName name = ProjectBillingInfoName.of("[PROJECT]");

ProjectBillingInfo actualResponse = client.getProjectBillingInfo(name);
Assert.assertEquals(expectedResponse, actualResponse);
Expand All @@ -513,6 +515,53 @@ public void getProjectBillingInfoExceptionTest() throws Exception {
new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false);
mockService.addException(exception);

try {
ProjectBillingInfoName name = ProjectBillingInfoName.of("[PROJECT]");
client.getProjectBillingInfo(name);
Assert.fail("No exception raised");
} catch (InvalidArgumentException e) {
// Expected exception.
}
}

@Test
public void getProjectBillingInfoTest2() throws Exception {
ProjectBillingInfo expectedResponse =
ProjectBillingInfo.newBuilder()
.setName(ProjectBillingInfoName.of("[PROJECT]").toString())
.setProjectId("projectId-894832108")
.setBillingAccountName("billingAccountName929322205")
.setBillingEnabled(true)
.build();
mockService.addResponse(expectedResponse);

String name = "projects/project-3664";

ProjectBillingInfo actualResponse = client.getProjectBillingInfo(name);
Assert.assertEquals(expectedResponse, actualResponse);

List<String> actualRequests = mockService.getRequestPaths();
Assert.assertEquals(1, actualRequests.size());

String apiClientHeaderKey =
mockService
.getRequestHeaders()
.get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey())
.iterator()
.next();
Assert.assertTrue(
GaxHttpJsonProperties.getDefaultApiClientHeaderPattern()
.matcher(apiClientHeaderKey)
.matches());
}

@Test
public void getProjectBillingInfoExceptionTest2() throws Exception {
ApiException exception =
ApiExceptionFactory.createException(
new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false);
mockService.addException(exception);

try {
String name = "projects/project-3664";
client.getProjectBillingInfo(name);
Expand All @@ -526,7 +575,7 @@ public void getProjectBillingInfoExceptionTest() throws Exception {
public void updateProjectBillingInfoTest() throws Exception {
ProjectBillingInfo expectedResponse =
ProjectBillingInfo.newBuilder()
.setName("name3373707")
.setName(ProjectBillingInfoName.of("[PROJECT]").toString())
.setProjectId("projectId-894832108")
.setBillingAccountName("billingAccountName929322205")
.setBillingEnabled(true)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -443,7 +443,49 @@ public void listProjectBillingInfoExceptionTest2() throws Exception {
public void getProjectBillingInfoTest() throws Exception {
ProjectBillingInfo expectedResponse =
ProjectBillingInfo.newBuilder()
.setName("name3373707")
.setName(ProjectBillingInfoName.of("[PROJECT]").toString())
.setProjectId("projectId-894832108")
.setBillingAccountName("billingAccountName929322205")
.setBillingEnabled(true)
.build();
mockCloudBilling.addResponse(expectedResponse);

ProjectBillingInfoName name = ProjectBillingInfoName.of("[PROJECT]");

ProjectBillingInfo actualResponse = client.getProjectBillingInfo(name);
Assert.assertEquals(expectedResponse, actualResponse);

List<AbstractMessage> actualRequests = mockCloudBilling.getRequests();
Assert.assertEquals(1, actualRequests.size());
GetProjectBillingInfoRequest actualRequest =
((GetProjectBillingInfoRequest) actualRequests.get(0));

Assert.assertEquals(name.toString(), actualRequest.getName());
Assert.assertTrue(
channelProvider.isHeaderSent(
ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
}

@Test
public void getProjectBillingInfoExceptionTest() throws Exception {
StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
mockCloudBilling.addException(exception);

try {
ProjectBillingInfoName name = ProjectBillingInfoName.of("[PROJECT]");
client.getProjectBillingInfo(name);
Assert.fail("No exception raised");
} catch (InvalidArgumentException e) {
// Expected exception.
}
}

@Test
public void getProjectBillingInfoTest2() throws Exception {
ProjectBillingInfo expectedResponse =
ProjectBillingInfo.newBuilder()
.setName(ProjectBillingInfoName.of("[PROJECT]").toString())
.setProjectId("projectId-894832108")
.setBillingAccountName("billingAccountName929322205")
.setBillingEnabled(true)
Expand All @@ -468,7 +510,7 @@ public void getProjectBillingInfoTest() throws Exception {
}

@Test
public void getProjectBillingInfoExceptionTest() throws Exception {
public void getProjectBillingInfoExceptionTest2() throws Exception {
StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
mockCloudBilling.addException(exception);

Expand All @@ -485,7 +527,7 @@ public void getProjectBillingInfoExceptionTest() throws Exception {
public void updateProjectBillingInfoTest() throws Exception {
ProjectBillingInfo expectedResponse =
ProjectBillingInfo.newBuilder()
.setName("name3373707")
.setName(ProjectBillingInfoName.of("[PROJECT]").toString())
.setProjectId("projectId-894832108")
.setBillingAccountName("billingAccountName929322205")
.setBillingEnabled(true)
Expand Down
Loading