@@ -72,52 +72,78 @@ TEST(ProtoNameToCppName, Success) {
72
72
ProtoNameToCppName (" google.spanner.admin.database.v1.Request" ));
73
73
}
74
74
75
- TEST (BuildNamespace, EmptyVars) {
76
- VarsDictionary vars;
77
- auto result = BuildNamespaces (vars, NamespaceType::kInternal );
78
- EXPECT_EQ (result.status ().code (), StatusCode::kNotFound );
79
- EXPECT_EQ (result.status ().message (), " product_path must be present in vars." );
80
- }
81
-
82
- TEST (BuildNamespace, NoTrailingSlash) {
83
- VarsDictionary vars;
84
- vars[" product_path" ] = " google/cloud/spanner" ;
85
- auto result = BuildNamespaces (vars, NamespaceType::kInternal );
86
- EXPECT_EQ (result.status ().code (), StatusCode::kInvalidArgument );
87
- EXPECT_EQ (result.status ().message (), " vars[product_path] must end with '/'." );
88
- }
89
-
90
- TEST (BuildNamespace, ProductPathTooShort) {
91
- VarsDictionary vars;
92
- vars[" product_path" ] = std::string (" /" );
93
- auto result = BuildNamespaces (vars, NamespaceType::kInternal );
94
- EXPECT_EQ (result.status ().code (), StatusCode::kInvalidArgument );
95
- EXPECT_EQ (result.status ().message (),
96
- " vars[product_path] contain at least 2 characters." );
97
- }
98
-
99
- TEST (BuildNamespaces, Internal) {
100
- VarsDictionary vars;
101
- vars[" product_path" ] = " google/cloud/spanner/" ;
102
- auto result = BuildNamespaces (vars, NamespaceType::kInternal );
103
- ASSERT_TRUE (result.ok ());
104
- ASSERT_EQ (result->size (), 4 );
105
- EXPECT_EQ (" google" , (*result)[0 ]);
106
- EXPECT_EQ (" cloud" , (*result)[1 ]);
107
- EXPECT_EQ (" spanner_internal" , (*result)[2 ]);
108
- EXPECT_EQ (" SPANNER_CLIENT_NS" , (*result)[3 ]);
109
- }
110
-
111
- TEST (BuildNamespaces, NotInternal) {
112
- VarsDictionary vars;
113
- vars[" product_path" ] = " google/cloud/translation/" ;
114
- auto result = BuildNamespaces (vars);
115
- ASSERT_TRUE (result.ok ());
116
- ASSERT_EQ (result->size (), 4 );
117
- EXPECT_EQ (" google" , (*result)[0 ]);
118
- EXPECT_EQ (" cloud" , (*result)[1 ]);
119
- EXPECT_EQ (" translation" , (*result)[2 ]);
120
- EXPECT_EQ (" TRANSLATION_CLIENT_NS" , (*result)[3 ]);
75
+ TEST (BuildNamespaces, NoDirectoryPathInternal) {
76
+ auto result = BuildNamespaces (" /" , NamespaceType::kInternal );
77
+ ASSERT_EQ (result.size (), 4 );
78
+ EXPECT_EQ (" google" , result[0 ]);
79
+ EXPECT_EQ (" cloud" , result[1 ]);
80
+ EXPECT_EQ (" _internal" , result[2 ]);
81
+ EXPECT_EQ (" _CLIENT_NS" , result[3 ]);
82
+ }
83
+
84
+ TEST (BuildNamespaces, OneDirectoryPathInternal) {
85
+ auto result = BuildNamespaces (" one/" , NamespaceType::kInternal );
86
+ ASSERT_EQ (result.size (), 4 );
87
+ EXPECT_EQ (" google" , result[0 ]);
88
+ EXPECT_EQ (" cloud" , result[1 ]);
89
+ EXPECT_EQ (" one_internal" , result[2 ]);
90
+ EXPECT_EQ (" ONE_CLIENT_NS" , result[3 ]);
91
+ }
92
+
93
+ TEST (BuildNamespaces, TwoDirectoryPathInternal) {
94
+ auto result = BuildNamespaces (" unusual/product/" , NamespaceType::kInternal );
95
+ ASSERT_EQ (result.size (), 4 );
96
+ EXPECT_EQ (" google" , result[0 ]);
97
+ EXPECT_EQ (" cloud" , result[1 ]);
98
+ EXPECT_EQ (" unusual_product_internal" , result[2 ]);
99
+ EXPECT_EQ (" UNUSUAL_PRODUCT_CLIENT_NS" , result[3 ]);
100
+ }
101
+
102
+ TEST (BuildNamespaces, TwoDirectoryPathNotInternal) {
103
+ auto result = BuildNamespaces (" unusual/product/" );
104
+ ASSERT_EQ (result.size (), 4 );
105
+ EXPECT_EQ (" google" , result[0 ]);
106
+ EXPECT_EQ (" cloud" , result[1 ]);
107
+ EXPECT_EQ (" unusual_product" , result[2 ]);
108
+ EXPECT_EQ (" UNUSUAL_PRODUCT_CLIENT_NS" , result[3 ]);
109
+ }
110
+
111
+ TEST (BuildNamespaces, ThreeDirectoryPathInternal) {
112
+ auto result =
113
+ BuildNamespaces (" google/cloud/spanner/" , NamespaceType::kInternal );
114
+ ASSERT_EQ (result.size (), 4 );
115
+ EXPECT_EQ (" google" , result[0 ]);
116
+ EXPECT_EQ (" cloud" , result[1 ]);
117
+ EXPECT_EQ (" spanner_internal" , result[2 ]);
118
+ EXPECT_EQ (" SPANNER_CLIENT_NS" , result[3 ]);
119
+ }
120
+
121
+ TEST (BuildNamespaces, ThreeDirectoryPathNotInternal) {
122
+ auto result = BuildNamespaces (" google/cloud/translation/" );
123
+ ASSERT_EQ (result.size (), 4 );
124
+ EXPECT_EQ (" google" , result[0 ]);
125
+ EXPECT_EQ (" cloud" , result[1 ]);
126
+ EXPECT_EQ (" translation" , result[2 ]);
127
+ EXPECT_EQ (" TRANSLATION_CLIENT_NS" , result[3 ]);
128
+ }
129
+
130
+ TEST (BuildNamespaces, FourDirectoryPathInternal) {
131
+ auto result =
132
+ BuildNamespaces (" google/cloud/foo/bar/baz/" , NamespaceType::kInternal );
133
+ ASSERT_EQ (result.size (), 4 );
134
+ EXPECT_EQ (" google" , result[0 ]);
135
+ EXPECT_EQ (" cloud" , result[1 ]);
136
+ EXPECT_EQ (" foo_bar_baz_internal" , result[2 ]);
137
+ EXPECT_EQ (" FOO_BAR_BAZ_CLIENT_NS" , result[3 ]);
138
+ }
139
+
140
+ TEST (BuildNamespaces, FourDirectoryPathNotInternal) {
141
+ auto result = BuildNamespaces (" google/cloud/foo/bar/baz/" );
142
+ ASSERT_EQ (result.size (), 4 );
143
+ EXPECT_EQ (" google" , result[0 ]);
144
+ EXPECT_EQ (" cloud" , result[1 ]);
145
+ EXPECT_EQ (" foo_bar_baz" , result[2 ]);
146
+ EXPECT_EQ (" FOO_BAR_BAZ_CLIENT_NS" , result[3 ]);
121
147
}
122
148
123
149
TEST (ProcessCommandLineArgs, NoProductPath) {
0 commit comments