1 // Copyright 2020 Google LLC
2 //
3 // Licensed under the Apache License, Version 2.0 (the "License");
4 // you may not use this file except in compliance with the License.
5 // You may obtain a copy of the License at
6 //
7 //     http://www.apache.org/licenses/LICENSE-2.0
8 //
9 // Unless required by applicable law or agreed to in writing, software
10 // distributed under the License is distributed on an "AS IS" BASIS,
11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 // See the License for the specific language governing permissions and
13 // limitations under the License.
14 
15 #include "generator/integration_tests/golden/database_admin_connection_idempotency_policy.gcpcxx.pb.h"
16 #include <gmock/gmock.h>
17 #include <memory>
18 
19 namespace google {
20 namespace cloud {
21 namespace golden_internal {
22 inline namespace GOOGLE_CLOUD_CPP_NS {
23 namespace {
24 
25 using google::cloud::internal::Idempotency;
26 namespace gtab = ::google::test::admin::database::v1;
27 
28 class GoldenIdempotencyPolicyTest : public ::testing::Test {
29  protected:
SetUp()30   void SetUp() override {
31     policy_ = golden::MakeDefaultDatabaseAdminConnectionIdempotencyPolicy();
32   }
33 
34   std::unique_ptr<golden::DatabaseAdminConnectionIdempotencyPolicy> policy_;
35 };
36 
TEST_F(GoldenIdempotencyPolicyTest,ListDatabases)37 TEST_F(GoldenIdempotencyPolicyTest, ListDatabases) {
38   gtab::ListDatabasesRequest request;
39   EXPECT_EQ(policy_->ListDatabases(request), Idempotency::kIdempotent);
40 }
41 
TEST_F(GoldenIdempotencyPolicyTest,CreateDatabase)42 TEST_F(GoldenIdempotencyPolicyTest, CreateDatabase) {
43   gtab::CreateDatabaseRequest request;
44   EXPECT_EQ(policy_->CreateDatabase(request), Idempotency::kNonIdempotent);
45 }
46 
TEST_F(GoldenIdempotencyPolicyTest,GetDatabase)47 TEST_F(GoldenIdempotencyPolicyTest, GetDatabase) {
48   gtab::GetDatabaseRequest request;
49   EXPECT_EQ(policy_->GetDatabase(request), Idempotency::kIdempotent);
50 }
51 
TEST_F(GoldenIdempotencyPolicyTest,UpdateDatabaseDdl)52 TEST_F(GoldenIdempotencyPolicyTest, UpdateDatabaseDdl) {
53   gtab::UpdateDatabaseDdlRequest request;
54   EXPECT_EQ(policy_->UpdateDatabaseDdl(request), Idempotency::kNonIdempotent);
55 }
56 
TEST_F(GoldenIdempotencyPolicyTest,DropDatabase)57 TEST_F(GoldenIdempotencyPolicyTest, DropDatabase) {
58   gtab::DropDatabaseRequest request;
59   EXPECT_EQ(policy_->DropDatabase(request), Idempotency::kNonIdempotent);
60 }
61 
TEST_F(GoldenIdempotencyPolicyTest,GetDatabaseDdl)62 TEST_F(GoldenIdempotencyPolicyTest, GetDatabaseDdl) {
63   gtab::GetDatabaseDdlRequest request;
64   EXPECT_EQ(policy_->GetDatabaseDdl(request), Idempotency::kIdempotent);
65 }
66 
TEST_F(GoldenIdempotencyPolicyTest,SetIamPolicy)67 TEST_F(GoldenIdempotencyPolicyTest, SetIamPolicy) {
68   google::iam::v1::SetIamPolicyRequest request;
69   EXPECT_EQ(policy_->SetIamPolicy(request), Idempotency::kNonIdempotent);
70 }
71 
TEST_F(GoldenIdempotencyPolicyTest,GetIamPolicy)72 TEST_F(GoldenIdempotencyPolicyTest, GetIamPolicy) {
73   google::iam::v1::GetIamPolicyRequest request;
74   EXPECT_EQ(policy_->GetIamPolicy(request), Idempotency::kNonIdempotent);
75 }
76 
TEST_F(GoldenIdempotencyPolicyTest,TestIamPermissions)77 TEST_F(GoldenIdempotencyPolicyTest, TestIamPermissions) {
78   google::iam::v1::TestIamPermissionsRequest request;
79   EXPECT_EQ(policy_->TestIamPermissions(request), Idempotency::kNonIdempotent);
80 }
81 
TEST_F(GoldenIdempotencyPolicyTest,CreateBackup)82 TEST_F(GoldenIdempotencyPolicyTest, CreateBackup) {
83   gtab::CreateBackupRequest request;
84   EXPECT_EQ(policy_->CreateBackup(request), Idempotency::kNonIdempotent);
85 }
86 
TEST_F(GoldenIdempotencyPolicyTest,GetBackup)87 TEST_F(GoldenIdempotencyPolicyTest, GetBackup) {
88   gtab::GetBackupRequest request;
89   EXPECT_EQ(policy_->GetBackup(request), Idempotency::kIdempotent);
90 }
91 
TEST_F(GoldenIdempotencyPolicyTest,UpdateBackup)92 TEST_F(GoldenIdempotencyPolicyTest, UpdateBackup) {
93   gtab::UpdateBackupRequest request;
94   EXPECT_EQ(policy_->UpdateBackup(request), Idempotency::kNonIdempotent);
95 }
96 
TEST_F(GoldenIdempotencyPolicyTest,DeleteBackup)97 TEST_F(GoldenIdempotencyPolicyTest, DeleteBackup) {
98   gtab::DeleteBackupRequest request;
99   EXPECT_EQ(policy_->DeleteBackup(request), Idempotency::kNonIdempotent);
100 }
101 
TEST_F(GoldenIdempotencyPolicyTest,ListBackups)102 TEST_F(GoldenIdempotencyPolicyTest, ListBackups) {
103   gtab::ListBackupsRequest request;
104   EXPECT_EQ(policy_->ListBackups(request), Idempotency::kIdempotent);
105 }
106 
TEST_F(GoldenIdempotencyPolicyTest,RestoreDatabase)107 TEST_F(GoldenIdempotencyPolicyTest, RestoreDatabase) {
108   gtab::RestoreDatabaseRequest request;
109   EXPECT_EQ(policy_->RestoreDatabase(request), Idempotency::kNonIdempotent);
110 }
111 
TEST_F(GoldenIdempotencyPolicyTest,ListDatabaseOperations)112 TEST_F(GoldenIdempotencyPolicyTest, ListDatabaseOperations) {
113   gtab::ListDatabaseOperationsRequest request;
114   EXPECT_EQ(policy_->ListDatabaseOperations(request), Idempotency::kIdempotent);
115 }
116 
TEST_F(GoldenIdempotencyPolicyTest,ListBackupOperations)117 TEST_F(GoldenIdempotencyPolicyTest, ListBackupOperations) {
118   gtab::ListBackupOperationsRequest request;
119   EXPECT_EQ(policy_->ListBackupOperations(request), Idempotency::kIdempotent);
120 }
121 
122 }  // namespace
123 }  // namespace GOOGLE_CLOUD_CPP_NS
124 }  // namespace golden_internal
125 }  // namespace cloud
126 }  // namespace google
127