You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

mock_test.go 47 KiB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677
  1. // Copyright 2019 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. // https://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. // Code generated by gapic-generator. DO NOT EDIT.
  15. package logging
  16. import (
  17. emptypb "github.com/golang/protobuf/ptypes/empty"
  18. monitoredrespb "google.golang.org/genproto/googleapis/api/monitoredres"
  19. loggingpb "google.golang.org/genproto/googleapis/logging/v2"
  20. field_maskpb "google.golang.org/genproto/protobuf/field_mask"
  21. )
  22. import (
  23. "context"
  24. "flag"
  25. "fmt"
  26. "io"
  27. "log"
  28. "net"
  29. "os"
  30. "strings"
  31. "testing"
  32. "github.com/golang/protobuf/proto"
  33. "github.com/golang/protobuf/ptypes"
  34. "google.golang.org/api/option"
  35. status "google.golang.org/genproto/googleapis/rpc/status"
  36. "google.golang.org/grpc"
  37. "google.golang.org/grpc/codes"
  38. "google.golang.org/grpc/metadata"
  39. gstatus "google.golang.org/grpc/status"
  40. )
  41. var _ = io.EOF
  42. var _ = ptypes.MarshalAny
  43. var _ status.Status
  44. type mockLoggingServer struct {
  45. // Embed for forward compatibility.
  46. // Tests will keep working if more methods are added
  47. // in the future.
  48. loggingpb.LoggingServiceV2Server
  49. reqs []proto.Message
  50. // If set, all calls return this error.
  51. err error
  52. // responses to return if err == nil
  53. resps []proto.Message
  54. }
  55. func (s *mockLoggingServer) DeleteLog(ctx context.Context, req *loggingpb.DeleteLogRequest) (*emptypb.Empty, error) {
  56. md, _ := metadata.FromIncomingContext(ctx)
  57. if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") {
  58. return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg)
  59. }
  60. s.reqs = append(s.reqs, req)
  61. if s.err != nil {
  62. return nil, s.err
  63. }
  64. return s.resps[0].(*emptypb.Empty), nil
  65. }
  66. func (s *mockLoggingServer) WriteLogEntries(ctx context.Context, req *loggingpb.WriteLogEntriesRequest) (*loggingpb.WriteLogEntriesResponse, error) {
  67. md, _ := metadata.FromIncomingContext(ctx)
  68. if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") {
  69. return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg)
  70. }
  71. s.reqs = append(s.reqs, req)
  72. if s.err != nil {
  73. return nil, s.err
  74. }
  75. return s.resps[0].(*loggingpb.WriteLogEntriesResponse), nil
  76. }
  77. func (s *mockLoggingServer) ListLogEntries(ctx context.Context, req *loggingpb.ListLogEntriesRequest) (*loggingpb.ListLogEntriesResponse, error) {
  78. md, _ := metadata.FromIncomingContext(ctx)
  79. if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") {
  80. return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg)
  81. }
  82. s.reqs = append(s.reqs, req)
  83. if s.err != nil {
  84. return nil, s.err
  85. }
  86. return s.resps[0].(*loggingpb.ListLogEntriesResponse), nil
  87. }
  88. func (s *mockLoggingServer) ListMonitoredResourceDescriptors(ctx context.Context, req *loggingpb.ListMonitoredResourceDescriptorsRequest) (*loggingpb.ListMonitoredResourceDescriptorsResponse, error) {
  89. md, _ := metadata.FromIncomingContext(ctx)
  90. if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") {
  91. return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg)
  92. }
  93. s.reqs = append(s.reqs, req)
  94. if s.err != nil {
  95. return nil, s.err
  96. }
  97. return s.resps[0].(*loggingpb.ListMonitoredResourceDescriptorsResponse), nil
  98. }
  99. func (s *mockLoggingServer) ListLogs(ctx context.Context, req *loggingpb.ListLogsRequest) (*loggingpb.ListLogsResponse, error) {
  100. md, _ := metadata.FromIncomingContext(ctx)
  101. if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") {
  102. return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg)
  103. }
  104. s.reqs = append(s.reqs, req)
  105. if s.err != nil {
  106. return nil, s.err
  107. }
  108. return s.resps[0].(*loggingpb.ListLogsResponse), nil
  109. }
  110. type mockConfigServer struct {
  111. // Embed for forward compatibility.
  112. // Tests will keep working if more methods are added
  113. // in the future.
  114. loggingpb.ConfigServiceV2Server
  115. reqs []proto.Message
  116. // If set, all calls return this error.
  117. err error
  118. // responses to return if err == nil
  119. resps []proto.Message
  120. }
  121. func (s *mockConfigServer) ListSinks(ctx context.Context, req *loggingpb.ListSinksRequest) (*loggingpb.ListSinksResponse, error) {
  122. md, _ := metadata.FromIncomingContext(ctx)
  123. if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") {
  124. return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg)
  125. }
  126. s.reqs = append(s.reqs, req)
  127. if s.err != nil {
  128. return nil, s.err
  129. }
  130. return s.resps[0].(*loggingpb.ListSinksResponse), nil
  131. }
  132. func (s *mockConfigServer) GetSink(ctx context.Context, req *loggingpb.GetSinkRequest) (*loggingpb.LogSink, error) {
  133. md, _ := metadata.FromIncomingContext(ctx)
  134. if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") {
  135. return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg)
  136. }
  137. s.reqs = append(s.reqs, req)
  138. if s.err != nil {
  139. return nil, s.err
  140. }
  141. return s.resps[0].(*loggingpb.LogSink), nil
  142. }
  143. func (s *mockConfigServer) CreateSink(ctx context.Context, req *loggingpb.CreateSinkRequest) (*loggingpb.LogSink, error) {
  144. md, _ := metadata.FromIncomingContext(ctx)
  145. if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") {
  146. return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg)
  147. }
  148. s.reqs = append(s.reqs, req)
  149. if s.err != nil {
  150. return nil, s.err
  151. }
  152. return s.resps[0].(*loggingpb.LogSink), nil
  153. }
  154. func (s *mockConfigServer) UpdateSink(ctx context.Context, req *loggingpb.UpdateSinkRequest) (*loggingpb.LogSink, error) {
  155. md, _ := metadata.FromIncomingContext(ctx)
  156. if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") {
  157. return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg)
  158. }
  159. s.reqs = append(s.reqs, req)
  160. if s.err != nil {
  161. return nil, s.err
  162. }
  163. return s.resps[0].(*loggingpb.LogSink), nil
  164. }
  165. func (s *mockConfigServer) DeleteSink(ctx context.Context, req *loggingpb.DeleteSinkRequest) (*emptypb.Empty, error) {
  166. md, _ := metadata.FromIncomingContext(ctx)
  167. if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") {
  168. return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg)
  169. }
  170. s.reqs = append(s.reqs, req)
  171. if s.err != nil {
  172. return nil, s.err
  173. }
  174. return s.resps[0].(*emptypb.Empty), nil
  175. }
  176. func (s *mockConfigServer) ListExclusions(ctx context.Context, req *loggingpb.ListExclusionsRequest) (*loggingpb.ListExclusionsResponse, error) {
  177. md, _ := metadata.FromIncomingContext(ctx)
  178. if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") {
  179. return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg)
  180. }
  181. s.reqs = append(s.reqs, req)
  182. if s.err != nil {
  183. return nil, s.err
  184. }
  185. return s.resps[0].(*loggingpb.ListExclusionsResponse), nil
  186. }
  187. func (s *mockConfigServer) GetExclusion(ctx context.Context, req *loggingpb.GetExclusionRequest) (*loggingpb.LogExclusion, error) {
  188. md, _ := metadata.FromIncomingContext(ctx)
  189. if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") {
  190. return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg)
  191. }
  192. s.reqs = append(s.reqs, req)
  193. if s.err != nil {
  194. return nil, s.err
  195. }
  196. return s.resps[0].(*loggingpb.LogExclusion), nil
  197. }
  198. func (s *mockConfigServer) CreateExclusion(ctx context.Context, req *loggingpb.CreateExclusionRequest) (*loggingpb.LogExclusion, error) {
  199. md, _ := metadata.FromIncomingContext(ctx)
  200. if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") {
  201. return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg)
  202. }
  203. s.reqs = append(s.reqs, req)
  204. if s.err != nil {
  205. return nil, s.err
  206. }
  207. return s.resps[0].(*loggingpb.LogExclusion), nil
  208. }
  209. func (s *mockConfigServer) UpdateExclusion(ctx context.Context, req *loggingpb.UpdateExclusionRequest) (*loggingpb.LogExclusion, error) {
  210. md, _ := metadata.FromIncomingContext(ctx)
  211. if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") {
  212. return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg)
  213. }
  214. s.reqs = append(s.reqs, req)
  215. if s.err != nil {
  216. return nil, s.err
  217. }
  218. return s.resps[0].(*loggingpb.LogExclusion), nil
  219. }
  220. func (s *mockConfigServer) DeleteExclusion(ctx context.Context, req *loggingpb.DeleteExclusionRequest) (*emptypb.Empty, error) {
  221. md, _ := metadata.FromIncomingContext(ctx)
  222. if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") {
  223. return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg)
  224. }
  225. s.reqs = append(s.reqs, req)
  226. if s.err != nil {
  227. return nil, s.err
  228. }
  229. return s.resps[0].(*emptypb.Empty), nil
  230. }
  231. type mockMetricsServer struct {
  232. // Embed for forward compatibility.
  233. // Tests will keep working if more methods are added
  234. // in the future.
  235. loggingpb.MetricsServiceV2Server
  236. reqs []proto.Message
  237. // If set, all calls return this error.
  238. err error
  239. // responses to return if err == nil
  240. resps []proto.Message
  241. }
  242. func (s *mockMetricsServer) ListLogMetrics(ctx context.Context, req *loggingpb.ListLogMetricsRequest) (*loggingpb.ListLogMetricsResponse, error) {
  243. md, _ := metadata.FromIncomingContext(ctx)
  244. if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") {
  245. return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg)
  246. }
  247. s.reqs = append(s.reqs, req)
  248. if s.err != nil {
  249. return nil, s.err
  250. }
  251. return s.resps[0].(*loggingpb.ListLogMetricsResponse), nil
  252. }
  253. func (s *mockMetricsServer) GetLogMetric(ctx context.Context, req *loggingpb.GetLogMetricRequest) (*loggingpb.LogMetric, error) {
  254. md, _ := metadata.FromIncomingContext(ctx)
  255. if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") {
  256. return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg)
  257. }
  258. s.reqs = append(s.reqs, req)
  259. if s.err != nil {
  260. return nil, s.err
  261. }
  262. return s.resps[0].(*loggingpb.LogMetric), nil
  263. }
  264. func (s *mockMetricsServer) CreateLogMetric(ctx context.Context, req *loggingpb.CreateLogMetricRequest) (*loggingpb.LogMetric, error) {
  265. md, _ := metadata.FromIncomingContext(ctx)
  266. if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") {
  267. return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg)
  268. }
  269. s.reqs = append(s.reqs, req)
  270. if s.err != nil {
  271. return nil, s.err
  272. }
  273. return s.resps[0].(*loggingpb.LogMetric), nil
  274. }
  275. func (s *mockMetricsServer) UpdateLogMetric(ctx context.Context, req *loggingpb.UpdateLogMetricRequest) (*loggingpb.LogMetric, error) {
  276. md, _ := metadata.FromIncomingContext(ctx)
  277. if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") {
  278. return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg)
  279. }
  280. s.reqs = append(s.reqs, req)
  281. if s.err != nil {
  282. return nil, s.err
  283. }
  284. return s.resps[0].(*loggingpb.LogMetric), nil
  285. }
  286. func (s *mockMetricsServer) DeleteLogMetric(ctx context.Context, req *loggingpb.DeleteLogMetricRequest) (*emptypb.Empty, error) {
  287. md, _ := metadata.FromIncomingContext(ctx)
  288. if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") {
  289. return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg)
  290. }
  291. s.reqs = append(s.reqs, req)
  292. if s.err != nil {
  293. return nil, s.err
  294. }
  295. return s.resps[0].(*emptypb.Empty), nil
  296. }
  297. // clientOpt is the option tests should use to connect to the test server.
  298. // It is initialized by TestMain.
  299. var clientOpt option.ClientOption
  300. var (
  301. mockLogging mockLoggingServer
  302. mockConfig mockConfigServer
  303. mockMetrics mockMetricsServer
  304. )
  305. func TestMain(m *testing.M) {
  306. flag.Parse()
  307. serv := grpc.NewServer()
  308. loggingpb.RegisterLoggingServiceV2Server(serv, &mockLogging)
  309. loggingpb.RegisterConfigServiceV2Server(serv, &mockConfig)
  310. loggingpb.RegisterMetricsServiceV2Server(serv, &mockMetrics)
  311. lis, err := net.Listen("tcp", "localhost:0")
  312. if err != nil {
  313. log.Fatal(err)
  314. }
  315. go serv.Serve(lis)
  316. conn, err := grpc.Dial(lis.Addr().String(), grpc.WithInsecure())
  317. if err != nil {
  318. log.Fatal(err)
  319. }
  320. clientOpt = option.WithGRPCConn(conn)
  321. os.Exit(m.Run())
  322. }
  323. func TestLoggingServiceV2DeleteLog(t *testing.T) {
  324. var expectedResponse *emptypb.Empty = &emptypb.Empty{}
  325. mockLogging.err = nil
  326. mockLogging.reqs = nil
  327. mockLogging.resps = append(mockLogging.resps[:0], expectedResponse)
  328. var formattedLogName string = fmt.Sprintf("projects/%s/logs/%s", "[PROJECT]", "[LOG]")
  329. var request = &loggingpb.DeleteLogRequest{
  330. LogName: formattedLogName,
  331. }
  332. c, err := NewClient(context.Background(), clientOpt)
  333. if err != nil {
  334. t.Fatal(err)
  335. }
  336. err = c.DeleteLog(context.Background(), request)
  337. if err != nil {
  338. t.Fatal(err)
  339. }
  340. if want, got := request, mockLogging.reqs[0]; !proto.Equal(want, got) {
  341. t.Errorf("wrong request %q, want %q", got, want)
  342. }
  343. }
  344. func TestLoggingServiceV2DeleteLogError(t *testing.T) {
  345. errCode := codes.PermissionDenied
  346. mockLogging.err = gstatus.Error(errCode, "test error")
  347. var formattedLogName string = fmt.Sprintf("projects/%s/logs/%s", "[PROJECT]", "[LOG]")
  348. var request = &loggingpb.DeleteLogRequest{
  349. LogName: formattedLogName,
  350. }
  351. c, err := NewClient(context.Background(), clientOpt)
  352. if err != nil {
  353. t.Fatal(err)
  354. }
  355. err = c.DeleteLog(context.Background(), request)
  356. if st, ok := gstatus.FromError(err); !ok {
  357. t.Errorf("got error %v, expected grpc error", err)
  358. } else if c := st.Code(); c != errCode {
  359. t.Errorf("got error code %q, want %q", c, errCode)
  360. }
  361. }
  362. func TestLoggingServiceV2WriteLogEntries(t *testing.T) {
  363. var expectedResponse *loggingpb.WriteLogEntriesResponse = &loggingpb.WriteLogEntriesResponse{}
  364. mockLogging.err = nil
  365. mockLogging.reqs = nil
  366. mockLogging.resps = append(mockLogging.resps[:0], expectedResponse)
  367. var entries []*loggingpb.LogEntry = nil
  368. var request = &loggingpb.WriteLogEntriesRequest{
  369. Entries: entries,
  370. }
  371. c, err := NewClient(context.Background(), clientOpt)
  372. if err != nil {
  373. t.Fatal(err)
  374. }
  375. resp, err := c.WriteLogEntries(context.Background(), request)
  376. if err != nil {
  377. t.Fatal(err)
  378. }
  379. if want, got := request, mockLogging.reqs[0]; !proto.Equal(want, got) {
  380. t.Errorf("wrong request %q, want %q", got, want)
  381. }
  382. if want, got := expectedResponse, resp; !proto.Equal(want, got) {
  383. t.Errorf("wrong response %q, want %q)", got, want)
  384. }
  385. }
  386. func TestLoggingServiceV2WriteLogEntriesError(t *testing.T) {
  387. errCode := codes.PermissionDenied
  388. mockLogging.err = gstatus.Error(errCode, "test error")
  389. var entries []*loggingpb.LogEntry = nil
  390. var request = &loggingpb.WriteLogEntriesRequest{
  391. Entries: entries,
  392. }
  393. c, err := NewClient(context.Background(), clientOpt)
  394. if err != nil {
  395. t.Fatal(err)
  396. }
  397. resp, err := c.WriteLogEntries(context.Background(), request)
  398. if st, ok := gstatus.FromError(err); !ok {
  399. t.Errorf("got error %v, expected grpc error", err)
  400. } else if c := st.Code(); c != errCode {
  401. t.Errorf("got error code %q, want %q", c, errCode)
  402. }
  403. _ = resp
  404. }
  405. func TestLoggingServiceV2ListLogEntries(t *testing.T) {
  406. var nextPageToken string = ""
  407. var entriesElement *loggingpb.LogEntry = &loggingpb.LogEntry{}
  408. var entries = []*loggingpb.LogEntry{entriesElement}
  409. var expectedResponse = &loggingpb.ListLogEntriesResponse{
  410. NextPageToken: nextPageToken,
  411. Entries: entries,
  412. }
  413. mockLogging.err = nil
  414. mockLogging.reqs = nil
  415. mockLogging.resps = append(mockLogging.resps[:0], expectedResponse)
  416. var formattedResourceNames []string = nil
  417. var request = &loggingpb.ListLogEntriesRequest{
  418. ResourceNames: formattedResourceNames,
  419. }
  420. c, err := NewClient(context.Background(), clientOpt)
  421. if err != nil {
  422. t.Fatal(err)
  423. }
  424. resp, err := c.ListLogEntries(context.Background(), request).Next()
  425. if err != nil {
  426. t.Fatal(err)
  427. }
  428. if want, got := request, mockLogging.reqs[0]; !proto.Equal(want, got) {
  429. t.Errorf("wrong request %q, want %q", got, want)
  430. }
  431. want := (interface{})(expectedResponse.Entries[0])
  432. got := (interface{})(resp)
  433. var ok bool
  434. switch want := (want).(type) {
  435. case proto.Message:
  436. ok = proto.Equal(want, got.(proto.Message))
  437. default:
  438. ok = want == got
  439. }
  440. if !ok {
  441. t.Errorf("wrong response %q, want %q)", got, want)
  442. }
  443. }
  444. func TestLoggingServiceV2ListLogEntriesError(t *testing.T) {
  445. errCode := codes.PermissionDenied
  446. mockLogging.err = gstatus.Error(errCode, "test error")
  447. var formattedResourceNames []string = nil
  448. var request = &loggingpb.ListLogEntriesRequest{
  449. ResourceNames: formattedResourceNames,
  450. }
  451. c, err := NewClient(context.Background(), clientOpt)
  452. if err != nil {
  453. t.Fatal(err)
  454. }
  455. resp, err := c.ListLogEntries(context.Background(), request).Next()
  456. if st, ok := gstatus.FromError(err); !ok {
  457. t.Errorf("got error %v, expected grpc error", err)
  458. } else if c := st.Code(); c != errCode {
  459. t.Errorf("got error code %q, want %q", c, errCode)
  460. }
  461. _ = resp
  462. }
  463. func TestLoggingServiceV2ListMonitoredResourceDescriptors(t *testing.T) {
  464. var nextPageToken string = ""
  465. var resourceDescriptorsElement *monitoredrespb.MonitoredResourceDescriptor = &monitoredrespb.MonitoredResourceDescriptor{}
  466. var resourceDescriptors = []*monitoredrespb.MonitoredResourceDescriptor{resourceDescriptorsElement}
  467. var expectedResponse = &loggingpb.ListMonitoredResourceDescriptorsResponse{
  468. NextPageToken: nextPageToken,
  469. ResourceDescriptors: resourceDescriptors,
  470. }
  471. mockLogging.err = nil
  472. mockLogging.reqs = nil
  473. mockLogging.resps = append(mockLogging.resps[:0], expectedResponse)
  474. var request *loggingpb.ListMonitoredResourceDescriptorsRequest = &loggingpb.ListMonitoredResourceDescriptorsRequest{}
  475. c, err := NewClient(context.Background(), clientOpt)
  476. if err != nil {
  477. t.Fatal(err)
  478. }
  479. resp, err := c.ListMonitoredResourceDescriptors(context.Background(), request).Next()
  480. if err != nil {
  481. t.Fatal(err)
  482. }
  483. if want, got := request, mockLogging.reqs[0]; !proto.Equal(want, got) {
  484. t.Errorf("wrong request %q, want %q", got, want)
  485. }
  486. want := (interface{})(expectedResponse.ResourceDescriptors[0])
  487. got := (interface{})(resp)
  488. var ok bool
  489. switch want := (want).(type) {
  490. case proto.Message:
  491. ok = proto.Equal(want, got.(proto.Message))
  492. default:
  493. ok = want == got
  494. }
  495. if !ok {
  496. t.Errorf("wrong response %q, want %q)", got, want)
  497. }
  498. }
  499. func TestLoggingServiceV2ListMonitoredResourceDescriptorsError(t *testing.T) {
  500. errCode := codes.PermissionDenied
  501. mockLogging.err = gstatus.Error(errCode, "test error")
  502. var request *loggingpb.ListMonitoredResourceDescriptorsRequest = &loggingpb.ListMonitoredResourceDescriptorsRequest{}
  503. c, err := NewClient(context.Background(), clientOpt)
  504. if err != nil {
  505. t.Fatal(err)
  506. }
  507. resp, err := c.ListMonitoredResourceDescriptors(context.Background(), request).Next()
  508. if st, ok := gstatus.FromError(err); !ok {
  509. t.Errorf("got error %v, expected grpc error", err)
  510. } else if c := st.Code(); c != errCode {
  511. t.Errorf("got error code %q, want %q", c, errCode)
  512. }
  513. _ = resp
  514. }
  515. func TestLoggingServiceV2ListLogs(t *testing.T) {
  516. var nextPageToken string = ""
  517. var logNamesElement string = "logNamesElement-1079688374"
  518. var logNames = []string{logNamesElement}
  519. var expectedResponse = &loggingpb.ListLogsResponse{
  520. NextPageToken: nextPageToken,
  521. LogNames: logNames,
  522. }
  523. mockLogging.err = nil
  524. mockLogging.reqs = nil
  525. mockLogging.resps = append(mockLogging.resps[:0], expectedResponse)
  526. var formattedParent string = fmt.Sprintf("projects/%s", "[PROJECT]")
  527. var request = &loggingpb.ListLogsRequest{
  528. Parent: formattedParent,
  529. }
  530. c, err := NewClient(context.Background(), clientOpt)
  531. if err != nil {
  532. t.Fatal(err)
  533. }
  534. resp, err := c.ListLogs(context.Background(), request).Next()
  535. if err != nil {
  536. t.Fatal(err)
  537. }
  538. if want, got := request, mockLogging.reqs[0]; !proto.Equal(want, got) {
  539. t.Errorf("wrong request %q, want %q", got, want)
  540. }
  541. want := (interface{})(expectedResponse.LogNames[0])
  542. got := (interface{})(resp)
  543. var ok bool
  544. switch want := (want).(type) {
  545. case proto.Message:
  546. ok = proto.Equal(want, got.(proto.Message))
  547. default:
  548. ok = want == got
  549. }
  550. if !ok {
  551. t.Errorf("wrong response %q, want %q)", got, want)
  552. }
  553. }
  554. func TestLoggingServiceV2ListLogsError(t *testing.T) {
  555. errCode := codes.PermissionDenied
  556. mockLogging.err = gstatus.Error(errCode, "test error")
  557. var formattedParent string = fmt.Sprintf("projects/%s", "[PROJECT]")
  558. var request = &loggingpb.ListLogsRequest{
  559. Parent: formattedParent,
  560. }
  561. c, err := NewClient(context.Background(), clientOpt)
  562. if err != nil {
  563. t.Fatal(err)
  564. }
  565. resp, err := c.ListLogs(context.Background(), request).Next()
  566. if st, ok := gstatus.FromError(err); !ok {
  567. t.Errorf("got error %v, expected grpc error", err)
  568. } else if c := st.Code(); c != errCode {
  569. t.Errorf("got error code %q, want %q", c, errCode)
  570. }
  571. _ = resp
  572. }
  573. func TestConfigServiceV2ListSinks(t *testing.T) {
  574. var nextPageToken string = ""
  575. var sinksElement *loggingpb.LogSink = &loggingpb.LogSink{}
  576. var sinks = []*loggingpb.LogSink{sinksElement}
  577. var expectedResponse = &loggingpb.ListSinksResponse{
  578. NextPageToken: nextPageToken,
  579. Sinks: sinks,
  580. }
  581. mockConfig.err = nil
  582. mockConfig.reqs = nil
  583. mockConfig.resps = append(mockConfig.resps[:0], expectedResponse)
  584. var formattedParent string = fmt.Sprintf("projects/%s", "[PROJECT]")
  585. var request = &loggingpb.ListSinksRequest{
  586. Parent: formattedParent,
  587. }
  588. c, err := NewConfigClient(context.Background(), clientOpt)
  589. if err != nil {
  590. t.Fatal(err)
  591. }
  592. resp, err := c.ListSinks(context.Background(), request).Next()
  593. if err != nil {
  594. t.Fatal(err)
  595. }
  596. if want, got := request, mockConfig.reqs[0]; !proto.Equal(want, got) {
  597. t.Errorf("wrong request %q, want %q", got, want)
  598. }
  599. want := (interface{})(expectedResponse.Sinks[0])
  600. got := (interface{})(resp)
  601. var ok bool
  602. switch want := (want).(type) {
  603. case proto.Message:
  604. ok = proto.Equal(want, got.(proto.Message))
  605. default:
  606. ok = want == got
  607. }
  608. if !ok {
  609. t.Errorf("wrong response %q, want %q)", got, want)
  610. }
  611. }
  612. func TestConfigServiceV2ListSinksError(t *testing.T) {
  613. errCode := codes.PermissionDenied
  614. mockConfig.err = gstatus.Error(errCode, "test error")
  615. var formattedParent string = fmt.Sprintf("projects/%s", "[PROJECT]")
  616. var request = &loggingpb.ListSinksRequest{
  617. Parent: formattedParent,
  618. }
  619. c, err := NewConfigClient(context.Background(), clientOpt)
  620. if err != nil {
  621. t.Fatal(err)
  622. }
  623. resp, err := c.ListSinks(context.Background(), request).Next()
  624. if st, ok := gstatus.FromError(err); !ok {
  625. t.Errorf("got error %v, expected grpc error", err)
  626. } else if c := st.Code(); c != errCode {
  627. t.Errorf("got error code %q, want %q", c, errCode)
  628. }
  629. _ = resp
  630. }
  631. func TestConfigServiceV2GetSink(t *testing.T) {
  632. var name string = "name3373707"
  633. var destination string = "destination-1429847026"
  634. var filter string = "filter-1274492040"
  635. var writerIdentity string = "writerIdentity775638794"
  636. var includeChildren bool = true
  637. var expectedResponse = &loggingpb.LogSink{
  638. Name: name,
  639. Destination: destination,
  640. Filter: filter,
  641. WriterIdentity: writerIdentity,
  642. IncludeChildren: includeChildren,
  643. }
  644. mockConfig.err = nil
  645. mockConfig.reqs = nil
  646. mockConfig.resps = append(mockConfig.resps[:0], expectedResponse)
  647. var formattedSinkName string = fmt.Sprintf("projects/%s/sinks/%s", "[PROJECT]", "[SINK]")
  648. var request = &loggingpb.GetSinkRequest{
  649. SinkName: formattedSinkName,
  650. }
  651. c, err := NewConfigClient(context.Background(), clientOpt)
  652. if err != nil {
  653. t.Fatal(err)
  654. }
  655. resp, err := c.GetSink(context.Background(), request)
  656. if err != nil {
  657. t.Fatal(err)
  658. }
  659. if want, got := request, mockConfig.reqs[0]; !proto.Equal(want, got) {
  660. t.Errorf("wrong request %q, want %q", got, want)
  661. }
  662. if want, got := expectedResponse, resp; !proto.Equal(want, got) {
  663. t.Errorf("wrong response %q, want %q)", got, want)
  664. }
  665. }
  666. func TestConfigServiceV2GetSinkError(t *testing.T) {
  667. errCode := codes.PermissionDenied
  668. mockConfig.err = gstatus.Error(errCode, "test error")
  669. var formattedSinkName string = fmt.Sprintf("projects/%s/sinks/%s", "[PROJECT]", "[SINK]")
  670. var request = &loggingpb.GetSinkRequest{
  671. SinkName: formattedSinkName,
  672. }
  673. c, err := NewConfigClient(context.Background(), clientOpt)
  674. if err != nil {
  675. t.Fatal(err)
  676. }
  677. resp, err := c.GetSink(context.Background(), request)
  678. if st, ok := gstatus.FromError(err); !ok {
  679. t.Errorf("got error %v, expected grpc error", err)
  680. } else if c := st.Code(); c != errCode {
  681. t.Errorf("got error code %q, want %q", c, errCode)
  682. }
  683. _ = resp
  684. }
  685. func TestConfigServiceV2CreateSink(t *testing.T) {
  686. var name string = "name3373707"
  687. var destination string = "destination-1429847026"
  688. var filter string = "filter-1274492040"
  689. var writerIdentity string = "writerIdentity775638794"
  690. var includeChildren bool = true
  691. var expectedResponse = &loggingpb.LogSink{
  692. Name: name,
  693. Destination: destination,
  694. Filter: filter,
  695. WriterIdentity: writerIdentity,
  696. IncludeChildren: includeChildren,
  697. }
  698. mockConfig.err = nil
  699. mockConfig.reqs = nil
  700. mockConfig.resps = append(mockConfig.resps[:0], expectedResponse)
  701. var formattedParent string = fmt.Sprintf("projects/%s", "[PROJECT]")
  702. var sink *loggingpb.LogSink = &loggingpb.LogSink{}
  703. var request = &loggingpb.CreateSinkRequest{
  704. Parent: formattedParent,
  705. Sink: sink,
  706. }
  707. c, err := NewConfigClient(context.Background(), clientOpt)
  708. if err != nil {
  709. t.Fatal(err)
  710. }
  711. resp, err := c.CreateSink(context.Background(), request)
  712. if err != nil {
  713. t.Fatal(err)
  714. }
  715. if want, got := request, mockConfig.reqs[0]; !proto.Equal(want, got) {
  716. t.Errorf("wrong request %q, want %q", got, want)
  717. }
  718. if want, got := expectedResponse, resp; !proto.Equal(want, got) {
  719. t.Errorf("wrong response %q, want %q)", got, want)
  720. }
  721. }
  722. func TestConfigServiceV2CreateSinkError(t *testing.T) {
  723. errCode := codes.PermissionDenied
  724. mockConfig.err = gstatus.Error(errCode, "test error")
  725. var formattedParent string = fmt.Sprintf("projects/%s", "[PROJECT]")
  726. var sink *loggingpb.LogSink = &loggingpb.LogSink{}
  727. var request = &loggingpb.CreateSinkRequest{
  728. Parent: formattedParent,
  729. Sink: sink,
  730. }
  731. c, err := NewConfigClient(context.Background(), clientOpt)
  732. if err != nil {
  733. t.Fatal(err)
  734. }
  735. resp, err := c.CreateSink(context.Background(), request)
  736. if st, ok := gstatus.FromError(err); !ok {
  737. t.Errorf("got error %v, expected grpc error", err)
  738. } else if c := st.Code(); c != errCode {
  739. t.Errorf("got error code %q, want %q", c, errCode)
  740. }
  741. _ = resp
  742. }
  743. func TestConfigServiceV2UpdateSink(t *testing.T) {
  744. var name string = "name3373707"
  745. var destination string = "destination-1429847026"
  746. var filter string = "filter-1274492040"
  747. var writerIdentity string = "writerIdentity775638794"
  748. var includeChildren bool = true
  749. var expectedResponse = &loggingpb.LogSink{
  750. Name: name,
  751. Destination: destination,
  752. Filter: filter,
  753. WriterIdentity: writerIdentity,
  754. IncludeChildren: includeChildren,
  755. }
  756. mockConfig.err = nil
  757. mockConfig.reqs = nil
  758. mockConfig.resps = append(mockConfig.resps[:0], expectedResponse)
  759. var formattedSinkName string = fmt.Sprintf("projects/%s/sinks/%s", "[PROJECT]", "[SINK]")
  760. var sink *loggingpb.LogSink = &loggingpb.LogSink{}
  761. var request = &loggingpb.UpdateSinkRequest{
  762. SinkName: formattedSinkName,
  763. Sink: sink,
  764. }
  765. c, err := NewConfigClient(context.Background(), clientOpt)
  766. if err != nil {
  767. t.Fatal(err)
  768. }
  769. resp, err := c.UpdateSink(context.Background(), request)
  770. if err != nil {
  771. t.Fatal(err)
  772. }
  773. if want, got := request, mockConfig.reqs[0]; !proto.Equal(want, got) {
  774. t.Errorf("wrong request %q, want %q", got, want)
  775. }
  776. if want, got := expectedResponse, resp; !proto.Equal(want, got) {
  777. t.Errorf("wrong response %q, want %q)", got, want)
  778. }
  779. }
  780. func TestConfigServiceV2UpdateSinkError(t *testing.T) {
  781. errCode := codes.PermissionDenied
  782. mockConfig.err = gstatus.Error(errCode, "test error")
  783. var formattedSinkName string = fmt.Sprintf("projects/%s/sinks/%s", "[PROJECT]", "[SINK]")
  784. var sink *loggingpb.LogSink = &loggingpb.LogSink{}
  785. var request = &loggingpb.UpdateSinkRequest{
  786. SinkName: formattedSinkName,
  787. Sink: sink,
  788. }
  789. c, err := NewConfigClient(context.Background(), clientOpt)
  790. if err != nil {
  791. t.Fatal(err)
  792. }
  793. resp, err := c.UpdateSink(context.Background(), request)
  794. if st, ok := gstatus.FromError(err); !ok {
  795. t.Errorf("got error %v, expected grpc error", err)
  796. } else if c := st.Code(); c != errCode {
  797. t.Errorf("got error code %q, want %q", c, errCode)
  798. }
  799. _ = resp
  800. }
  801. func TestConfigServiceV2DeleteSink(t *testing.T) {
  802. var expectedResponse *emptypb.Empty = &emptypb.Empty{}
  803. mockConfig.err = nil
  804. mockConfig.reqs = nil
  805. mockConfig.resps = append(mockConfig.resps[:0], expectedResponse)
  806. var formattedSinkName string = fmt.Sprintf("projects/%s/sinks/%s", "[PROJECT]", "[SINK]")
  807. var request = &loggingpb.DeleteSinkRequest{
  808. SinkName: formattedSinkName,
  809. }
  810. c, err := NewConfigClient(context.Background(), clientOpt)
  811. if err != nil {
  812. t.Fatal(err)
  813. }
  814. err = c.DeleteSink(context.Background(), request)
  815. if err != nil {
  816. t.Fatal(err)
  817. }
  818. if want, got := request, mockConfig.reqs[0]; !proto.Equal(want, got) {
  819. t.Errorf("wrong request %q, want %q", got, want)
  820. }
  821. }
  822. func TestConfigServiceV2DeleteSinkError(t *testing.T) {
  823. errCode := codes.PermissionDenied
  824. mockConfig.err = gstatus.Error(errCode, "test error")
  825. var formattedSinkName string = fmt.Sprintf("projects/%s/sinks/%s", "[PROJECT]", "[SINK]")
  826. var request = &loggingpb.DeleteSinkRequest{
  827. SinkName: formattedSinkName,
  828. }
  829. c, err := NewConfigClient(context.Background(), clientOpt)
  830. if err != nil {
  831. t.Fatal(err)
  832. }
  833. err = c.DeleteSink(context.Background(), request)
  834. if st, ok := gstatus.FromError(err); !ok {
  835. t.Errorf("got error %v, expected grpc error", err)
  836. } else if c := st.Code(); c != errCode {
  837. t.Errorf("got error code %q, want %q", c, errCode)
  838. }
  839. }
  840. func TestConfigServiceV2ListExclusions(t *testing.T) {
  841. var nextPageToken string = ""
  842. var exclusionsElement *loggingpb.LogExclusion = &loggingpb.LogExclusion{}
  843. var exclusions = []*loggingpb.LogExclusion{exclusionsElement}
  844. var expectedResponse = &loggingpb.ListExclusionsResponse{
  845. NextPageToken: nextPageToken,
  846. Exclusions: exclusions,
  847. }
  848. mockConfig.err = nil
  849. mockConfig.reqs = nil
  850. mockConfig.resps = append(mockConfig.resps[:0], expectedResponse)
  851. var formattedParent string = fmt.Sprintf("projects/%s", "[PROJECT]")
  852. var request = &loggingpb.ListExclusionsRequest{
  853. Parent: formattedParent,
  854. }
  855. c, err := NewConfigClient(context.Background(), clientOpt)
  856. if err != nil {
  857. t.Fatal(err)
  858. }
  859. resp, err := c.ListExclusions(context.Background(), request).Next()
  860. if err != nil {
  861. t.Fatal(err)
  862. }
  863. if want, got := request, mockConfig.reqs[0]; !proto.Equal(want, got) {
  864. t.Errorf("wrong request %q, want %q", got, want)
  865. }
  866. want := (interface{})(expectedResponse.Exclusions[0])
  867. got := (interface{})(resp)
  868. var ok bool
  869. switch want := (want).(type) {
  870. case proto.Message:
  871. ok = proto.Equal(want, got.(proto.Message))
  872. default:
  873. ok = want == got
  874. }
  875. if !ok {
  876. t.Errorf("wrong response %q, want %q)", got, want)
  877. }
  878. }
  879. func TestConfigServiceV2ListExclusionsError(t *testing.T) {
  880. errCode := codes.PermissionDenied
  881. mockConfig.err = gstatus.Error(errCode, "test error")
  882. var formattedParent string = fmt.Sprintf("projects/%s", "[PROJECT]")
  883. var request = &loggingpb.ListExclusionsRequest{
  884. Parent: formattedParent,
  885. }
  886. c, err := NewConfigClient(context.Background(), clientOpt)
  887. if err != nil {
  888. t.Fatal(err)
  889. }
  890. resp, err := c.ListExclusions(context.Background(), request).Next()
  891. if st, ok := gstatus.FromError(err); !ok {
  892. t.Errorf("got error %v, expected grpc error", err)
  893. } else if c := st.Code(); c != errCode {
  894. t.Errorf("got error code %q, want %q", c, errCode)
  895. }
  896. _ = resp
  897. }
  898. func TestConfigServiceV2GetExclusion(t *testing.T) {
  899. var name2 string = "name2-1052831874"
  900. var description string = "description-1724546052"
  901. var filter string = "filter-1274492040"
  902. var disabled bool = true
  903. var expectedResponse = &loggingpb.LogExclusion{
  904. Name: name2,
  905. Description: description,
  906. Filter: filter,
  907. Disabled: disabled,
  908. }
  909. mockConfig.err = nil
  910. mockConfig.reqs = nil
  911. mockConfig.resps = append(mockConfig.resps[:0], expectedResponse)
  912. var formattedName string = fmt.Sprintf("projects/%s/exclusions/%s", "[PROJECT]", "[EXCLUSION]")
  913. var request = &loggingpb.GetExclusionRequest{
  914. Name: formattedName,
  915. }
  916. c, err := NewConfigClient(context.Background(), clientOpt)
  917. if err != nil {
  918. t.Fatal(err)
  919. }
  920. resp, err := c.GetExclusion(context.Background(), request)
  921. if err != nil {
  922. t.Fatal(err)
  923. }
  924. if want, got := request, mockConfig.reqs[0]; !proto.Equal(want, got) {
  925. t.Errorf("wrong request %q, want %q", got, want)
  926. }
  927. if want, got := expectedResponse, resp; !proto.Equal(want, got) {
  928. t.Errorf("wrong response %q, want %q)", got, want)
  929. }
  930. }
  931. func TestConfigServiceV2GetExclusionError(t *testing.T) {
  932. errCode := codes.PermissionDenied
  933. mockConfig.err = gstatus.Error(errCode, "test error")
  934. var formattedName string = fmt.Sprintf("projects/%s/exclusions/%s", "[PROJECT]", "[EXCLUSION]")
  935. var request = &loggingpb.GetExclusionRequest{
  936. Name: formattedName,
  937. }
  938. c, err := NewConfigClient(context.Background(), clientOpt)
  939. if err != nil {
  940. t.Fatal(err)
  941. }
  942. resp, err := c.GetExclusion(context.Background(), request)
  943. if st, ok := gstatus.FromError(err); !ok {
  944. t.Errorf("got error %v, expected grpc error", err)
  945. } else if c := st.Code(); c != errCode {
  946. t.Errorf("got error code %q, want %q", c, errCode)
  947. }
  948. _ = resp
  949. }
  950. func TestConfigServiceV2CreateExclusion(t *testing.T) {
  951. var name string = "name3373707"
  952. var description string = "description-1724546052"
  953. var filter string = "filter-1274492040"
  954. var disabled bool = true
  955. var expectedResponse = &loggingpb.LogExclusion{
  956. Name: name,
  957. Description: description,
  958. Filter: filter,
  959. Disabled: disabled,
  960. }
  961. mockConfig.err = nil
  962. mockConfig.reqs = nil
  963. mockConfig.resps = append(mockConfig.resps[:0], expectedResponse)
  964. var formattedParent string = fmt.Sprintf("projects/%s", "[PROJECT]")
  965. var exclusion *loggingpb.LogExclusion = &loggingpb.LogExclusion{}
  966. var request = &loggingpb.CreateExclusionRequest{
  967. Parent: formattedParent,
  968. Exclusion: exclusion,
  969. }
  970. c, err := NewConfigClient(context.Background(), clientOpt)
  971. if err != nil {
  972. t.Fatal(err)
  973. }
  974. resp, err := c.CreateExclusion(context.Background(), request)
  975. if err != nil {
  976. t.Fatal(err)
  977. }
  978. if want, got := request, mockConfig.reqs[0]; !proto.Equal(want, got) {
  979. t.Errorf("wrong request %q, want %q", got, want)
  980. }
  981. if want, got := expectedResponse, resp; !proto.Equal(want, got) {
  982. t.Errorf("wrong response %q, want %q)", got, want)
  983. }
  984. }
  985. func TestConfigServiceV2CreateExclusionError(t *testing.T) {
  986. errCode := codes.PermissionDenied
  987. mockConfig.err = gstatus.Error(errCode, "test error")
  988. var formattedParent string = fmt.Sprintf("projects/%s", "[PROJECT]")
  989. var exclusion *loggingpb.LogExclusion = &loggingpb.LogExclusion{}
  990. var request = &loggingpb.CreateExclusionRequest{
  991. Parent: formattedParent,
  992. Exclusion: exclusion,
  993. }
  994. c, err := NewConfigClient(context.Background(), clientOpt)
  995. if err != nil {
  996. t.Fatal(err)
  997. }
  998. resp, err := c.CreateExclusion(context.Background(), request)
  999. if st, ok := gstatus.FromError(err); !ok {
  1000. t.Errorf("got error %v, expected grpc error", err)
  1001. } else if c := st.Code(); c != errCode {
  1002. t.Errorf("got error code %q, want %q", c, errCode)
  1003. }
  1004. _ = resp
  1005. }
  1006. func TestConfigServiceV2UpdateExclusion(t *testing.T) {
  1007. var name2 string = "name2-1052831874"
  1008. var description string = "description-1724546052"
  1009. var filter string = "filter-1274492040"
  1010. var disabled bool = true
  1011. var expectedResponse = &loggingpb.LogExclusion{
  1012. Name: name2,
  1013. Description: description,
  1014. Filter: filter,
  1015. Disabled: disabled,
  1016. }
  1017. mockConfig.err = nil
  1018. mockConfig.reqs = nil
  1019. mockConfig.resps = append(mockConfig.resps[:0], expectedResponse)
  1020. var formattedName string = fmt.Sprintf("projects/%s/exclusions/%s", "[PROJECT]", "[EXCLUSION]")
  1021. var exclusion *loggingpb.LogExclusion = &loggingpb.LogExclusion{}
  1022. var updateMask *field_maskpb.FieldMask = &field_maskpb.FieldMask{}
  1023. var request = &loggingpb.UpdateExclusionRequest{
  1024. Name: formattedName,
  1025. Exclusion: exclusion,
  1026. UpdateMask: updateMask,
  1027. }
  1028. c, err := NewConfigClient(context.Background(), clientOpt)
  1029. if err != nil {
  1030. t.Fatal(err)
  1031. }
  1032. resp, err := c.UpdateExclusion(context.Background(), request)
  1033. if err != nil {
  1034. t.Fatal(err)
  1035. }
  1036. if want, got := request, mockConfig.reqs[0]; !proto.Equal(want, got) {
  1037. t.Errorf("wrong request %q, want %q", got, want)
  1038. }
  1039. if want, got := expectedResponse, resp; !proto.Equal(want, got) {
  1040. t.Errorf("wrong response %q, want %q)", got, want)
  1041. }
  1042. }
  1043. func TestConfigServiceV2UpdateExclusionError(t *testing.T) {
  1044. errCode := codes.PermissionDenied
  1045. mockConfig.err = gstatus.Error(errCode, "test error")
  1046. var formattedName string = fmt.Sprintf("projects/%s/exclusions/%s", "[PROJECT]", "[EXCLUSION]")
  1047. var exclusion *loggingpb.LogExclusion = &loggingpb.LogExclusion{}
  1048. var updateMask *field_maskpb.FieldMask = &field_maskpb.FieldMask{}
  1049. var request = &loggingpb.UpdateExclusionRequest{
  1050. Name: formattedName,
  1051. Exclusion: exclusion,
  1052. UpdateMask: updateMask,
  1053. }
  1054. c, err := NewConfigClient(context.Background(), clientOpt)
  1055. if err != nil {
  1056. t.Fatal(err)
  1057. }
  1058. resp, err := c.UpdateExclusion(context.Background(), request)
  1059. if st, ok := gstatus.FromError(err); !ok {
  1060. t.Errorf("got error %v, expected grpc error", err)
  1061. } else if c := st.Code(); c != errCode {
  1062. t.Errorf("got error code %q, want %q", c, errCode)
  1063. }
  1064. _ = resp
  1065. }
  1066. func TestConfigServiceV2DeleteExclusion(t *testing.T) {
  1067. var expectedResponse *emptypb.Empty = &emptypb.Empty{}
  1068. mockConfig.err = nil
  1069. mockConfig.reqs = nil
  1070. mockConfig.resps = append(mockConfig.resps[:0], expectedResponse)
  1071. var formattedName string = fmt.Sprintf("projects/%s/exclusions/%s", "[PROJECT]", "[EXCLUSION]")
  1072. var request = &loggingpb.DeleteExclusionRequest{
  1073. Name: formattedName,
  1074. }
  1075. c, err := NewConfigClient(context.Background(), clientOpt)
  1076. if err != nil {
  1077. t.Fatal(err)
  1078. }
  1079. err = c.DeleteExclusion(context.Background(), request)
  1080. if err != nil {
  1081. t.Fatal(err)
  1082. }
  1083. if want, got := request, mockConfig.reqs[0]; !proto.Equal(want, got) {
  1084. t.Errorf("wrong request %q, want %q", got, want)
  1085. }
  1086. }
  1087. func TestConfigServiceV2DeleteExclusionError(t *testing.T) {
  1088. errCode := codes.PermissionDenied
  1089. mockConfig.err = gstatus.Error(errCode, "test error")
  1090. var formattedName string = fmt.Sprintf("projects/%s/exclusions/%s", "[PROJECT]", "[EXCLUSION]")
  1091. var request = &loggingpb.DeleteExclusionRequest{
  1092. Name: formattedName,
  1093. }
  1094. c, err := NewConfigClient(context.Background(), clientOpt)
  1095. if err != nil {
  1096. t.Fatal(err)
  1097. }
  1098. err = c.DeleteExclusion(context.Background(), request)
  1099. if st, ok := gstatus.FromError(err); !ok {
  1100. t.Errorf("got error %v, expected grpc error", err)
  1101. } else if c := st.Code(); c != errCode {
  1102. t.Errorf("got error code %q, want %q", c, errCode)
  1103. }
  1104. }
  1105. func TestMetricsServiceV2ListLogMetrics(t *testing.T) {
  1106. var nextPageToken string = ""
  1107. var metricsElement *loggingpb.LogMetric = &loggingpb.LogMetric{}
  1108. var metrics = []*loggingpb.LogMetric{metricsElement}
  1109. var expectedResponse = &loggingpb.ListLogMetricsResponse{
  1110. NextPageToken: nextPageToken,
  1111. Metrics: metrics,
  1112. }
  1113. mockMetrics.err = nil
  1114. mockMetrics.reqs = nil
  1115. mockMetrics.resps = append(mockMetrics.resps[:0], expectedResponse)
  1116. var formattedParent string = fmt.Sprintf("projects/%s", "[PROJECT]")
  1117. var request = &loggingpb.ListLogMetricsRequest{
  1118. Parent: formattedParent,
  1119. }
  1120. c, err := NewMetricsClient(context.Background(), clientOpt)
  1121. if err != nil {
  1122. t.Fatal(err)
  1123. }
  1124. resp, err := c.ListLogMetrics(context.Background(), request).Next()
  1125. if err != nil {
  1126. t.Fatal(err)
  1127. }
  1128. if want, got := request, mockMetrics.reqs[0]; !proto.Equal(want, got) {
  1129. t.Errorf("wrong request %q, want %q", got, want)
  1130. }
  1131. want := (interface{})(expectedResponse.Metrics[0])
  1132. got := (interface{})(resp)
  1133. var ok bool
  1134. switch want := (want).(type) {
  1135. case proto.Message:
  1136. ok = proto.Equal(want, got.(proto.Message))
  1137. default:
  1138. ok = want == got
  1139. }
  1140. if !ok {
  1141. t.Errorf("wrong response %q, want %q)", got, want)
  1142. }
  1143. }
  1144. func TestMetricsServiceV2ListLogMetricsError(t *testing.T) {
  1145. errCode := codes.PermissionDenied
  1146. mockMetrics.err = gstatus.Error(errCode, "test error")
  1147. var formattedParent string = fmt.Sprintf("projects/%s", "[PROJECT]")
  1148. var request = &loggingpb.ListLogMetricsRequest{
  1149. Parent: formattedParent,
  1150. }
  1151. c, err := NewMetricsClient(context.Background(), clientOpt)
  1152. if err != nil {
  1153. t.Fatal(err)
  1154. }
  1155. resp, err := c.ListLogMetrics(context.Background(), request).Next()
  1156. if st, ok := gstatus.FromError(err); !ok {
  1157. t.Errorf("got error %v, expected grpc error", err)
  1158. } else if c := st.Code(); c != errCode {
  1159. t.Errorf("got error code %q, want %q", c, errCode)
  1160. }
  1161. _ = resp
  1162. }
  1163. func TestMetricsServiceV2GetLogMetric(t *testing.T) {
  1164. var name string = "name3373707"
  1165. var description string = "description-1724546052"
  1166. var filter string = "filter-1274492040"
  1167. var valueExtractor string = "valueExtractor2047672534"
  1168. var expectedResponse = &loggingpb.LogMetric{
  1169. Name: name,
  1170. Description: description,
  1171. Filter: filter,
  1172. ValueExtractor: valueExtractor,
  1173. }
  1174. mockMetrics.err = nil
  1175. mockMetrics.reqs = nil
  1176. mockMetrics.resps = append(mockMetrics.resps[:0], expectedResponse)
  1177. var formattedMetricName string = fmt.Sprintf("projects/%s/metrics/%s", "[PROJECT]", "[METRIC]")
  1178. var request = &loggingpb.GetLogMetricRequest{
  1179. MetricName: formattedMetricName,
  1180. }
  1181. c, err := NewMetricsClient(context.Background(), clientOpt)
  1182. if err != nil {
  1183. t.Fatal(err)
  1184. }
  1185. resp, err := c.GetLogMetric(context.Background(), request)
  1186. if err != nil {
  1187. t.Fatal(err)
  1188. }
  1189. if want, got := request, mockMetrics.reqs[0]; !proto.Equal(want, got) {
  1190. t.Errorf("wrong request %q, want %q", got, want)
  1191. }
  1192. if want, got := expectedResponse, resp; !proto.Equal(want, got) {
  1193. t.Errorf("wrong response %q, want %q)", got, want)
  1194. }
  1195. }
  1196. func TestMetricsServiceV2GetLogMetricError(t *testing.T) {
  1197. errCode := codes.PermissionDenied
  1198. mockMetrics.err = gstatus.Error(errCode, "test error")
  1199. var formattedMetricName string = fmt.Sprintf("projects/%s/metrics/%s", "[PROJECT]", "[METRIC]")
  1200. var request = &loggingpb.GetLogMetricRequest{
  1201. MetricName: formattedMetricName,
  1202. }
  1203. c, err := NewMetricsClient(context.Background(), clientOpt)
  1204. if err != nil {
  1205. t.Fatal(err)
  1206. }
  1207. resp, err := c.GetLogMetric(context.Background(), request)
  1208. if st, ok := gstatus.FromError(err); !ok {
  1209. t.Errorf("got error %v, expected grpc error", err)
  1210. } else if c := st.Code(); c != errCode {
  1211. t.Errorf("got error code %q, want %q", c, errCode)
  1212. }
  1213. _ = resp
  1214. }
  1215. func TestMetricsServiceV2CreateLogMetric(t *testing.T) {
  1216. var name string = "name3373707"
  1217. var description string = "description-1724546052"
  1218. var filter string = "filter-1274492040"
  1219. var valueExtractor string = "valueExtractor2047672534"
  1220. var expectedResponse = &loggingpb.LogMetric{
  1221. Name: name,
  1222. Description: description,
  1223. Filter: filter,
  1224. ValueExtractor: valueExtractor,
  1225. }
  1226. mockMetrics.err = nil
  1227. mockMetrics.reqs = nil
  1228. mockMetrics.resps = append(mockMetrics.resps[:0], expectedResponse)
  1229. var formattedParent string = fmt.Sprintf("projects/%s", "[PROJECT]")
  1230. var metric *loggingpb.LogMetric = &loggingpb.LogMetric{}
  1231. var request = &loggingpb.CreateLogMetricRequest{
  1232. Parent: formattedParent,
  1233. Metric: metric,
  1234. }
  1235. c, err := NewMetricsClient(context.Background(), clientOpt)
  1236. if err != nil {
  1237. t.Fatal(err)
  1238. }
  1239. resp, err := c.CreateLogMetric(context.Background(), request)
  1240. if err != nil {
  1241. t.Fatal(err)
  1242. }
  1243. if want, got := request, mockMetrics.reqs[0]; !proto.Equal(want, got) {
  1244. t.Errorf("wrong request %q, want %q", got, want)
  1245. }
  1246. if want, got := expectedResponse, resp; !proto.Equal(want, got) {
  1247. t.Errorf("wrong response %q, want %q)", got, want)
  1248. }
  1249. }
  1250. func TestMetricsServiceV2CreateLogMetricError(t *testing.T) {
  1251. errCode := codes.PermissionDenied
  1252. mockMetrics.err = gstatus.Error(errCode, "test error")
  1253. var formattedParent string = fmt.Sprintf("projects/%s", "[PROJECT]")
  1254. var metric *loggingpb.LogMetric = &loggingpb.LogMetric{}
  1255. var request = &loggingpb.CreateLogMetricRequest{
  1256. Parent: formattedParent,
  1257. Metric: metric,
  1258. }
  1259. c, err := NewMetricsClient(context.Background(), clientOpt)
  1260. if err != nil {
  1261. t.Fatal(err)
  1262. }
  1263. resp, err := c.CreateLogMetric(context.Background(), request)
  1264. if st, ok := gstatus.FromError(err); !ok {
  1265. t.Errorf("got error %v, expected grpc error", err)
  1266. } else if c := st.Code(); c != errCode {
  1267. t.Errorf("got error code %q, want %q", c, errCode)
  1268. }
  1269. _ = resp
  1270. }
  1271. func TestMetricsServiceV2UpdateLogMetric(t *testing.T) {
  1272. var name string = "name3373707"
  1273. var description string = "description-1724546052"
  1274. var filter string = "filter-1274492040"
  1275. var valueExtractor string = "valueExtractor2047672534"
  1276. var expectedResponse = &loggingpb.LogMetric{
  1277. Name: name,
  1278. Description: description,
  1279. Filter: filter,
  1280. ValueExtractor: valueExtractor,
  1281. }
  1282. mockMetrics.err = nil
  1283. mockMetrics.reqs = nil
  1284. mockMetrics.resps = append(mockMetrics.resps[:0], expectedResponse)
  1285. var formattedMetricName string = fmt.Sprintf("projects/%s/metrics/%s", "[PROJECT]", "[METRIC]")
  1286. var metric *loggingpb.LogMetric = &loggingpb.LogMetric{}
  1287. var request = &loggingpb.UpdateLogMetricRequest{
  1288. MetricName: formattedMetricName,
  1289. Metric: metric,
  1290. }
  1291. c, err := NewMetricsClient(context.Background(), clientOpt)
  1292. if err != nil {
  1293. t.Fatal(err)
  1294. }
  1295. resp, err := c.UpdateLogMetric(context.Background(), request)
  1296. if err != nil {
  1297. t.Fatal(err)
  1298. }
  1299. if want, got := request, mockMetrics.reqs[0]; !proto.Equal(want, got) {
  1300. t.Errorf("wrong request %q, want %q", got, want)
  1301. }
  1302. if want, got := expectedResponse, resp; !proto.Equal(want, got) {
  1303. t.Errorf("wrong response %q, want %q)", got, want)
  1304. }
  1305. }
  1306. func TestMetricsServiceV2UpdateLogMetricError(t *testing.T) {
  1307. errCode := codes.PermissionDenied
  1308. mockMetrics.err = gstatus.Error(errCode, "test error")
  1309. var formattedMetricName string = fmt.Sprintf("projects/%s/metrics/%s", "[PROJECT]", "[METRIC]")
  1310. var metric *loggingpb.LogMetric = &loggingpb.LogMetric{}
  1311. var request = &loggingpb.UpdateLogMetricRequest{
  1312. MetricName: formattedMetricName,
  1313. Metric: metric,
  1314. }
  1315. c, err := NewMetricsClient(context.Background(), clientOpt)
  1316. if err != nil {
  1317. t.Fatal(err)
  1318. }
  1319. resp, err := c.UpdateLogMetric(context.Background(), request)
  1320. if st, ok := gstatus.FromError(err); !ok {
  1321. t.Errorf("got error %v, expected grpc error", err)
  1322. } else if c := st.Code(); c != errCode {
  1323. t.Errorf("got error code %q, want %q", c, errCode)
  1324. }
  1325. _ = resp
  1326. }
  1327. func TestMetricsServiceV2DeleteLogMetric(t *testing.T) {
  1328. var expectedResponse *emptypb.Empty = &emptypb.Empty{}
  1329. mockMetrics.err = nil
  1330. mockMetrics.reqs = nil
  1331. mockMetrics.resps = append(mockMetrics.resps[:0], expectedResponse)
  1332. var formattedMetricName string = fmt.Sprintf("projects/%s/metrics/%s", "[PROJECT]", "[METRIC]")
  1333. var request = &loggingpb.DeleteLogMetricRequest{
  1334. MetricName: formattedMetricName,
  1335. }
  1336. c, err := NewMetricsClient(context.Background(), clientOpt)
  1337. if err != nil {
  1338. t.Fatal(err)
  1339. }
  1340. err = c.DeleteLogMetric(context.Background(), request)
  1341. if err != nil {
  1342. t.Fatal(err)
  1343. }
  1344. if want, got := request, mockMetrics.reqs[0]; !proto.Equal(want, got) {
  1345. t.Errorf("wrong request %q, want %q", got, want)
  1346. }
  1347. }
  1348. func TestMetricsServiceV2DeleteLogMetricError(t *testing.T) {
  1349. errCode := codes.PermissionDenied
  1350. mockMetrics.err = gstatus.Error(errCode, "test error")
  1351. var formattedMetricName string = fmt.Sprintf("projects/%s/metrics/%s", "[PROJECT]", "[METRIC]")
  1352. var request = &loggingpb.DeleteLogMetricRequest{
  1353. MetricName: formattedMetricName,
  1354. }
  1355. c, err := NewMetricsClient(context.Background(), clientOpt)
  1356. if err != nil {
  1357. t.Fatal(err)
  1358. }
  1359. err = c.DeleteLogMetric(context.Background(), request)
  1360. if st, ok := gstatus.FromError(err); !ok {
  1361. t.Errorf("got error %v, expected grpc error", err)
  1362. } else if c := st.Code(); c != errCode {
  1363. t.Errorf("got error code %q, want %q", c, errCode)
  1364. }
  1365. }