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.
 
 
 

3150 lines
90 KiB

  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 dialogflow
  16. import (
  17. emptypb "github.com/golang/protobuf/ptypes/empty"
  18. dialogflowpb "google.golang.org/genproto/googleapis/cloud/dialogflow/v2"
  19. longrunningpb "google.golang.org/genproto/googleapis/longrunning"
  20. )
  21. import (
  22. "context"
  23. "flag"
  24. "fmt"
  25. "io"
  26. "log"
  27. "net"
  28. "os"
  29. "strings"
  30. "testing"
  31. "github.com/golang/protobuf/proto"
  32. "github.com/golang/protobuf/ptypes"
  33. "google.golang.org/api/option"
  34. status "google.golang.org/genproto/googleapis/rpc/status"
  35. "google.golang.org/grpc"
  36. "google.golang.org/grpc/codes"
  37. "google.golang.org/grpc/metadata"
  38. gstatus "google.golang.org/grpc/status"
  39. )
  40. var _ = io.EOF
  41. var _ = ptypes.MarshalAny
  42. var _ status.Status
  43. type mockAgentsServer struct {
  44. // Embed for forward compatibility.
  45. // Tests will keep working if more methods are added
  46. // in the future.
  47. dialogflowpb.AgentsServer
  48. reqs []proto.Message
  49. // If set, all calls return this error.
  50. err error
  51. // responses to return if err == nil
  52. resps []proto.Message
  53. }
  54. func (s *mockAgentsServer) GetAgent(ctx context.Context, req *dialogflowpb.GetAgentRequest) (*dialogflowpb.Agent, error) {
  55. md, _ := metadata.FromIncomingContext(ctx)
  56. if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") {
  57. return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg)
  58. }
  59. s.reqs = append(s.reqs, req)
  60. if s.err != nil {
  61. return nil, s.err
  62. }
  63. return s.resps[0].(*dialogflowpb.Agent), nil
  64. }
  65. func (s *mockAgentsServer) SearchAgents(ctx context.Context, req *dialogflowpb.SearchAgentsRequest) (*dialogflowpb.SearchAgentsResponse, error) {
  66. md, _ := metadata.FromIncomingContext(ctx)
  67. if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") {
  68. return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg)
  69. }
  70. s.reqs = append(s.reqs, req)
  71. if s.err != nil {
  72. return nil, s.err
  73. }
  74. return s.resps[0].(*dialogflowpb.SearchAgentsResponse), nil
  75. }
  76. func (s *mockAgentsServer) TrainAgent(ctx context.Context, req *dialogflowpb.TrainAgentRequest) (*longrunningpb.Operation, error) {
  77. md, _ := metadata.FromIncomingContext(ctx)
  78. if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") {
  79. return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg)
  80. }
  81. s.reqs = append(s.reqs, req)
  82. if s.err != nil {
  83. return nil, s.err
  84. }
  85. return s.resps[0].(*longrunningpb.Operation), nil
  86. }
  87. func (s *mockAgentsServer) ExportAgent(ctx context.Context, req *dialogflowpb.ExportAgentRequest) (*longrunningpb.Operation, error) {
  88. md, _ := metadata.FromIncomingContext(ctx)
  89. if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") {
  90. return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg)
  91. }
  92. s.reqs = append(s.reqs, req)
  93. if s.err != nil {
  94. return nil, s.err
  95. }
  96. return s.resps[0].(*longrunningpb.Operation), nil
  97. }
  98. func (s *mockAgentsServer) ImportAgent(ctx context.Context, req *dialogflowpb.ImportAgentRequest) (*longrunningpb.Operation, error) {
  99. md, _ := metadata.FromIncomingContext(ctx)
  100. if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") {
  101. return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg)
  102. }
  103. s.reqs = append(s.reqs, req)
  104. if s.err != nil {
  105. return nil, s.err
  106. }
  107. return s.resps[0].(*longrunningpb.Operation), nil
  108. }
  109. func (s *mockAgentsServer) RestoreAgent(ctx context.Context, req *dialogflowpb.RestoreAgentRequest) (*longrunningpb.Operation, error) {
  110. md, _ := metadata.FromIncomingContext(ctx)
  111. if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") {
  112. return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg)
  113. }
  114. s.reqs = append(s.reqs, req)
  115. if s.err != nil {
  116. return nil, s.err
  117. }
  118. return s.resps[0].(*longrunningpb.Operation), nil
  119. }
  120. type mockContextsServer struct {
  121. // Embed for forward compatibility.
  122. // Tests will keep working if more methods are added
  123. // in the future.
  124. dialogflowpb.ContextsServer
  125. reqs []proto.Message
  126. // If set, all calls return this error.
  127. err error
  128. // responses to return if err == nil
  129. resps []proto.Message
  130. }
  131. func (s *mockContextsServer) ListContexts(ctx context.Context, req *dialogflowpb.ListContextsRequest) (*dialogflowpb.ListContextsResponse, error) {
  132. md, _ := metadata.FromIncomingContext(ctx)
  133. if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") {
  134. return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg)
  135. }
  136. s.reqs = append(s.reqs, req)
  137. if s.err != nil {
  138. return nil, s.err
  139. }
  140. return s.resps[0].(*dialogflowpb.ListContextsResponse), nil
  141. }
  142. func (s *mockContextsServer) GetContext(ctx context.Context, req *dialogflowpb.GetContextRequest) (*dialogflowpb.Context, error) {
  143. md, _ := metadata.FromIncomingContext(ctx)
  144. if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") {
  145. return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg)
  146. }
  147. s.reqs = append(s.reqs, req)
  148. if s.err != nil {
  149. return nil, s.err
  150. }
  151. return s.resps[0].(*dialogflowpb.Context), nil
  152. }
  153. func (s *mockContextsServer) CreateContext(ctx context.Context, req *dialogflowpb.CreateContextRequest) (*dialogflowpb.Context, error) {
  154. md, _ := metadata.FromIncomingContext(ctx)
  155. if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") {
  156. return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg)
  157. }
  158. s.reqs = append(s.reqs, req)
  159. if s.err != nil {
  160. return nil, s.err
  161. }
  162. return s.resps[0].(*dialogflowpb.Context), nil
  163. }
  164. func (s *mockContextsServer) UpdateContext(ctx context.Context, req *dialogflowpb.UpdateContextRequest) (*dialogflowpb.Context, error) {
  165. md, _ := metadata.FromIncomingContext(ctx)
  166. if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") {
  167. return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg)
  168. }
  169. s.reqs = append(s.reqs, req)
  170. if s.err != nil {
  171. return nil, s.err
  172. }
  173. return s.resps[0].(*dialogflowpb.Context), nil
  174. }
  175. func (s *mockContextsServer) DeleteContext(ctx context.Context, req *dialogflowpb.DeleteContextRequest) (*emptypb.Empty, error) {
  176. md, _ := metadata.FromIncomingContext(ctx)
  177. if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") {
  178. return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg)
  179. }
  180. s.reqs = append(s.reqs, req)
  181. if s.err != nil {
  182. return nil, s.err
  183. }
  184. return s.resps[0].(*emptypb.Empty), nil
  185. }
  186. func (s *mockContextsServer) DeleteAllContexts(ctx context.Context, req *dialogflowpb.DeleteAllContextsRequest) (*emptypb.Empty, error) {
  187. md, _ := metadata.FromIncomingContext(ctx)
  188. if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") {
  189. return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg)
  190. }
  191. s.reqs = append(s.reqs, req)
  192. if s.err != nil {
  193. return nil, s.err
  194. }
  195. return s.resps[0].(*emptypb.Empty), nil
  196. }
  197. type mockEntityTypesServer struct {
  198. // Embed for forward compatibility.
  199. // Tests will keep working if more methods are added
  200. // in the future.
  201. dialogflowpb.EntityTypesServer
  202. reqs []proto.Message
  203. // If set, all calls return this error.
  204. err error
  205. // responses to return if err == nil
  206. resps []proto.Message
  207. }
  208. func (s *mockEntityTypesServer) ListEntityTypes(ctx context.Context, req *dialogflowpb.ListEntityTypesRequest) (*dialogflowpb.ListEntityTypesResponse, error) {
  209. md, _ := metadata.FromIncomingContext(ctx)
  210. if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") {
  211. return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg)
  212. }
  213. s.reqs = append(s.reqs, req)
  214. if s.err != nil {
  215. return nil, s.err
  216. }
  217. return s.resps[0].(*dialogflowpb.ListEntityTypesResponse), nil
  218. }
  219. func (s *mockEntityTypesServer) GetEntityType(ctx context.Context, req *dialogflowpb.GetEntityTypeRequest) (*dialogflowpb.EntityType, error) {
  220. md, _ := metadata.FromIncomingContext(ctx)
  221. if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") {
  222. return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg)
  223. }
  224. s.reqs = append(s.reqs, req)
  225. if s.err != nil {
  226. return nil, s.err
  227. }
  228. return s.resps[0].(*dialogflowpb.EntityType), nil
  229. }
  230. func (s *mockEntityTypesServer) CreateEntityType(ctx context.Context, req *dialogflowpb.CreateEntityTypeRequest) (*dialogflowpb.EntityType, error) {
  231. md, _ := metadata.FromIncomingContext(ctx)
  232. if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") {
  233. return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg)
  234. }
  235. s.reqs = append(s.reqs, req)
  236. if s.err != nil {
  237. return nil, s.err
  238. }
  239. return s.resps[0].(*dialogflowpb.EntityType), nil
  240. }
  241. func (s *mockEntityTypesServer) UpdateEntityType(ctx context.Context, req *dialogflowpb.UpdateEntityTypeRequest) (*dialogflowpb.EntityType, error) {
  242. md, _ := metadata.FromIncomingContext(ctx)
  243. if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") {
  244. return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg)
  245. }
  246. s.reqs = append(s.reqs, req)
  247. if s.err != nil {
  248. return nil, s.err
  249. }
  250. return s.resps[0].(*dialogflowpb.EntityType), nil
  251. }
  252. func (s *mockEntityTypesServer) DeleteEntityType(ctx context.Context, req *dialogflowpb.DeleteEntityTypeRequest) (*emptypb.Empty, error) {
  253. md, _ := metadata.FromIncomingContext(ctx)
  254. if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") {
  255. return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg)
  256. }
  257. s.reqs = append(s.reqs, req)
  258. if s.err != nil {
  259. return nil, s.err
  260. }
  261. return s.resps[0].(*emptypb.Empty), nil
  262. }
  263. func (s *mockEntityTypesServer) BatchUpdateEntityTypes(ctx context.Context, req *dialogflowpb.BatchUpdateEntityTypesRequest) (*longrunningpb.Operation, error) {
  264. md, _ := metadata.FromIncomingContext(ctx)
  265. if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") {
  266. return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg)
  267. }
  268. s.reqs = append(s.reqs, req)
  269. if s.err != nil {
  270. return nil, s.err
  271. }
  272. return s.resps[0].(*longrunningpb.Operation), nil
  273. }
  274. func (s *mockEntityTypesServer) BatchDeleteEntityTypes(ctx context.Context, req *dialogflowpb.BatchDeleteEntityTypesRequest) (*longrunningpb.Operation, error) {
  275. md, _ := metadata.FromIncomingContext(ctx)
  276. if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") {
  277. return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg)
  278. }
  279. s.reqs = append(s.reqs, req)
  280. if s.err != nil {
  281. return nil, s.err
  282. }
  283. return s.resps[0].(*longrunningpb.Operation), nil
  284. }
  285. func (s *mockEntityTypesServer) BatchCreateEntities(ctx context.Context, req *dialogflowpb.BatchCreateEntitiesRequest) (*longrunningpb.Operation, error) {
  286. md, _ := metadata.FromIncomingContext(ctx)
  287. if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") {
  288. return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg)
  289. }
  290. s.reqs = append(s.reqs, req)
  291. if s.err != nil {
  292. return nil, s.err
  293. }
  294. return s.resps[0].(*longrunningpb.Operation), nil
  295. }
  296. func (s *mockEntityTypesServer) BatchUpdateEntities(ctx context.Context, req *dialogflowpb.BatchUpdateEntitiesRequest) (*longrunningpb.Operation, error) {
  297. md, _ := metadata.FromIncomingContext(ctx)
  298. if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") {
  299. return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg)
  300. }
  301. s.reqs = append(s.reqs, req)
  302. if s.err != nil {
  303. return nil, s.err
  304. }
  305. return s.resps[0].(*longrunningpb.Operation), nil
  306. }
  307. func (s *mockEntityTypesServer) BatchDeleteEntities(ctx context.Context, req *dialogflowpb.BatchDeleteEntitiesRequest) (*longrunningpb.Operation, error) {
  308. md, _ := metadata.FromIncomingContext(ctx)
  309. if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") {
  310. return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg)
  311. }
  312. s.reqs = append(s.reqs, req)
  313. if s.err != nil {
  314. return nil, s.err
  315. }
  316. return s.resps[0].(*longrunningpb.Operation), nil
  317. }
  318. type mockIntentsServer struct {
  319. // Embed for forward compatibility.
  320. // Tests will keep working if more methods are added
  321. // in the future.
  322. dialogflowpb.IntentsServer
  323. reqs []proto.Message
  324. // If set, all calls return this error.
  325. err error
  326. // responses to return if err == nil
  327. resps []proto.Message
  328. }
  329. func (s *mockIntentsServer) ListIntents(ctx context.Context, req *dialogflowpb.ListIntentsRequest) (*dialogflowpb.ListIntentsResponse, error) {
  330. md, _ := metadata.FromIncomingContext(ctx)
  331. if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") {
  332. return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg)
  333. }
  334. s.reqs = append(s.reqs, req)
  335. if s.err != nil {
  336. return nil, s.err
  337. }
  338. return s.resps[0].(*dialogflowpb.ListIntentsResponse), nil
  339. }
  340. func (s *mockIntentsServer) GetIntent(ctx context.Context, req *dialogflowpb.GetIntentRequest) (*dialogflowpb.Intent, error) {
  341. md, _ := metadata.FromIncomingContext(ctx)
  342. if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") {
  343. return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg)
  344. }
  345. s.reqs = append(s.reqs, req)
  346. if s.err != nil {
  347. return nil, s.err
  348. }
  349. return s.resps[0].(*dialogflowpb.Intent), nil
  350. }
  351. func (s *mockIntentsServer) CreateIntent(ctx context.Context, req *dialogflowpb.CreateIntentRequest) (*dialogflowpb.Intent, error) {
  352. md, _ := metadata.FromIncomingContext(ctx)
  353. if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") {
  354. return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg)
  355. }
  356. s.reqs = append(s.reqs, req)
  357. if s.err != nil {
  358. return nil, s.err
  359. }
  360. return s.resps[0].(*dialogflowpb.Intent), nil
  361. }
  362. func (s *mockIntentsServer) UpdateIntent(ctx context.Context, req *dialogflowpb.UpdateIntentRequest) (*dialogflowpb.Intent, error) {
  363. md, _ := metadata.FromIncomingContext(ctx)
  364. if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") {
  365. return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg)
  366. }
  367. s.reqs = append(s.reqs, req)
  368. if s.err != nil {
  369. return nil, s.err
  370. }
  371. return s.resps[0].(*dialogflowpb.Intent), nil
  372. }
  373. func (s *mockIntentsServer) DeleteIntent(ctx context.Context, req *dialogflowpb.DeleteIntentRequest) (*emptypb.Empty, error) {
  374. md, _ := metadata.FromIncomingContext(ctx)
  375. if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") {
  376. return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg)
  377. }
  378. s.reqs = append(s.reqs, req)
  379. if s.err != nil {
  380. return nil, s.err
  381. }
  382. return s.resps[0].(*emptypb.Empty), nil
  383. }
  384. func (s *mockIntentsServer) BatchUpdateIntents(ctx context.Context, req *dialogflowpb.BatchUpdateIntentsRequest) (*longrunningpb.Operation, error) {
  385. md, _ := metadata.FromIncomingContext(ctx)
  386. if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") {
  387. return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg)
  388. }
  389. s.reqs = append(s.reqs, req)
  390. if s.err != nil {
  391. return nil, s.err
  392. }
  393. return s.resps[0].(*longrunningpb.Operation), nil
  394. }
  395. func (s *mockIntentsServer) BatchDeleteIntents(ctx context.Context, req *dialogflowpb.BatchDeleteIntentsRequest) (*longrunningpb.Operation, error) {
  396. md, _ := metadata.FromIncomingContext(ctx)
  397. if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") {
  398. return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg)
  399. }
  400. s.reqs = append(s.reqs, req)
  401. if s.err != nil {
  402. return nil, s.err
  403. }
  404. return s.resps[0].(*longrunningpb.Operation), nil
  405. }
  406. type mockSessionEntityTypesServer struct {
  407. // Embed for forward compatibility.
  408. // Tests will keep working if more methods are added
  409. // in the future.
  410. dialogflowpb.SessionEntityTypesServer
  411. reqs []proto.Message
  412. // If set, all calls return this error.
  413. err error
  414. // responses to return if err == nil
  415. resps []proto.Message
  416. }
  417. func (s *mockSessionEntityTypesServer) ListSessionEntityTypes(ctx context.Context, req *dialogflowpb.ListSessionEntityTypesRequest) (*dialogflowpb.ListSessionEntityTypesResponse, error) {
  418. md, _ := metadata.FromIncomingContext(ctx)
  419. if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") {
  420. return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg)
  421. }
  422. s.reqs = append(s.reqs, req)
  423. if s.err != nil {
  424. return nil, s.err
  425. }
  426. return s.resps[0].(*dialogflowpb.ListSessionEntityTypesResponse), nil
  427. }
  428. func (s *mockSessionEntityTypesServer) GetSessionEntityType(ctx context.Context, req *dialogflowpb.GetSessionEntityTypeRequest) (*dialogflowpb.SessionEntityType, error) {
  429. md, _ := metadata.FromIncomingContext(ctx)
  430. if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") {
  431. return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg)
  432. }
  433. s.reqs = append(s.reqs, req)
  434. if s.err != nil {
  435. return nil, s.err
  436. }
  437. return s.resps[0].(*dialogflowpb.SessionEntityType), nil
  438. }
  439. func (s *mockSessionEntityTypesServer) CreateSessionEntityType(ctx context.Context, req *dialogflowpb.CreateSessionEntityTypeRequest) (*dialogflowpb.SessionEntityType, error) {
  440. md, _ := metadata.FromIncomingContext(ctx)
  441. if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") {
  442. return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg)
  443. }
  444. s.reqs = append(s.reqs, req)
  445. if s.err != nil {
  446. return nil, s.err
  447. }
  448. return s.resps[0].(*dialogflowpb.SessionEntityType), nil
  449. }
  450. func (s *mockSessionEntityTypesServer) UpdateSessionEntityType(ctx context.Context, req *dialogflowpb.UpdateSessionEntityTypeRequest) (*dialogflowpb.SessionEntityType, error) {
  451. md, _ := metadata.FromIncomingContext(ctx)
  452. if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") {
  453. return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg)
  454. }
  455. s.reqs = append(s.reqs, req)
  456. if s.err != nil {
  457. return nil, s.err
  458. }
  459. return s.resps[0].(*dialogflowpb.SessionEntityType), nil
  460. }
  461. func (s *mockSessionEntityTypesServer) DeleteSessionEntityType(ctx context.Context, req *dialogflowpb.DeleteSessionEntityTypeRequest) (*emptypb.Empty, error) {
  462. md, _ := metadata.FromIncomingContext(ctx)
  463. if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") {
  464. return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg)
  465. }
  466. s.reqs = append(s.reqs, req)
  467. if s.err != nil {
  468. return nil, s.err
  469. }
  470. return s.resps[0].(*emptypb.Empty), nil
  471. }
  472. type mockSessionsServer struct {
  473. // Embed for forward compatibility.
  474. // Tests will keep working if more methods are added
  475. // in the future.
  476. dialogflowpb.SessionsServer
  477. reqs []proto.Message
  478. // If set, all calls return this error.
  479. err error
  480. // responses to return if err == nil
  481. resps []proto.Message
  482. }
  483. func (s *mockSessionsServer) DetectIntent(ctx context.Context, req *dialogflowpb.DetectIntentRequest) (*dialogflowpb.DetectIntentResponse, error) {
  484. md, _ := metadata.FromIncomingContext(ctx)
  485. if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") {
  486. return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg)
  487. }
  488. s.reqs = append(s.reqs, req)
  489. if s.err != nil {
  490. return nil, s.err
  491. }
  492. return s.resps[0].(*dialogflowpb.DetectIntentResponse), nil
  493. }
  494. func (s *mockSessionsServer) StreamingDetectIntent(stream dialogflowpb.Sessions_StreamingDetectIntentServer) error {
  495. md, _ := metadata.FromIncomingContext(stream.Context())
  496. if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") {
  497. return fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg)
  498. }
  499. for {
  500. if req, err := stream.Recv(); err == io.EOF {
  501. break
  502. } else if err != nil {
  503. return err
  504. } else {
  505. s.reqs = append(s.reqs, req)
  506. }
  507. }
  508. if s.err != nil {
  509. return s.err
  510. }
  511. for _, v := range s.resps {
  512. if err := stream.Send(v.(*dialogflowpb.StreamingDetectIntentResponse)); err != nil {
  513. return err
  514. }
  515. }
  516. return nil
  517. }
  518. // clientOpt is the option tests should use to connect to the test server.
  519. // It is initialized by TestMain.
  520. var clientOpt option.ClientOption
  521. var (
  522. mockAgents mockAgentsServer
  523. mockContexts mockContextsServer
  524. mockEntityTypes mockEntityTypesServer
  525. mockIntents mockIntentsServer
  526. mockSessionEntityTypes mockSessionEntityTypesServer
  527. mockSessions mockSessionsServer
  528. )
  529. func TestMain(m *testing.M) {
  530. flag.Parse()
  531. serv := grpc.NewServer()
  532. dialogflowpb.RegisterAgentsServer(serv, &mockAgents)
  533. dialogflowpb.RegisterContextsServer(serv, &mockContexts)
  534. dialogflowpb.RegisterEntityTypesServer(serv, &mockEntityTypes)
  535. dialogflowpb.RegisterIntentsServer(serv, &mockIntents)
  536. dialogflowpb.RegisterSessionEntityTypesServer(serv, &mockSessionEntityTypes)
  537. dialogflowpb.RegisterSessionsServer(serv, &mockSessions)
  538. lis, err := net.Listen("tcp", "localhost:0")
  539. if err != nil {
  540. log.Fatal(err)
  541. }
  542. go serv.Serve(lis)
  543. conn, err := grpc.Dial(lis.Addr().String(), grpc.WithInsecure())
  544. if err != nil {
  545. log.Fatal(err)
  546. }
  547. clientOpt = option.WithGRPCConn(conn)
  548. os.Exit(m.Run())
  549. }
  550. func TestAgentsGetAgent(t *testing.T) {
  551. var parent2 string = "parent21175163357"
  552. var displayName string = "displayName1615086568"
  553. var defaultLanguageCode string = "defaultLanguageCode856575222"
  554. var timeZone string = "timeZone36848094"
  555. var description string = "description-1724546052"
  556. var avatarUri string = "avatarUri-402824826"
  557. var enableLogging bool = false
  558. var classificationThreshold float32 = 1.11581064E8
  559. var expectedResponse = &dialogflowpb.Agent{
  560. Parent: parent2,
  561. DisplayName: displayName,
  562. DefaultLanguageCode: defaultLanguageCode,
  563. TimeZone: timeZone,
  564. Description: description,
  565. AvatarUri: avatarUri,
  566. EnableLogging: enableLogging,
  567. ClassificationThreshold: classificationThreshold,
  568. }
  569. mockAgents.err = nil
  570. mockAgents.reqs = nil
  571. mockAgents.resps = append(mockAgents.resps[:0], expectedResponse)
  572. var formattedParent string = fmt.Sprintf("projects/%s", "[PROJECT]")
  573. var request = &dialogflowpb.GetAgentRequest{
  574. Parent: formattedParent,
  575. }
  576. c, err := NewAgentsClient(context.Background(), clientOpt)
  577. if err != nil {
  578. t.Fatal(err)
  579. }
  580. resp, err := c.GetAgent(context.Background(), request)
  581. if err != nil {
  582. t.Fatal(err)
  583. }
  584. if want, got := request, mockAgents.reqs[0]; !proto.Equal(want, got) {
  585. t.Errorf("wrong request %q, want %q", got, want)
  586. }
  587. if want, got := expectedResponse, resp; !proto.Equal(want, got) {
  588. t.Errorf("wrong response %q, want %q)", got, want)
  589. }
  590. }
  591. func TestAgentsGetAgentError(t *testing.T) {
  592. errCode := codes.PermissionDenied
  593. mockAgents.err = gstatus.Error(errCode, "test error")
  594. var formattedParent string = fmt.Sprintf("projects/%s", "[PROJECT]")
  595. var request = &dialogflowpb.GetAgentRequest{
  596. Parent: formattedParent,
  597. }
  598. c, err := NewAgentsClient(context.Background(), clientOpt)
  599. if err != nil {
  600. t.Fatal(err)
  601. }
  602. resp, err := c.GetAgent(context.Background(), request)
  603. if st, ok := gstatus.FromError(err); !ok {
  604. t.Errorf("got error %v, expected grpc error", err)
  605. } else if c := st.Code(); c != errCode {
  606. t.Errorf("got error code %q, want %q", c, errCode)
  607. }
  608. _ = resp
  609. }
  610. func TestAgentsSearchAgents(t *testing.T) {
  611. var nextPageToken string = ""
  612. var agentsElement *dialogflowpb.Agent = &dialogflowpb.Agent{}
  613. var agents = []*dialogflowpb.Agent{agentsElement}
  614. var expectedResponse = &dialogflowpb.SearchAgentsResponse{
  615. NextPageToken: nextPageToken,
  616. Agents: agents,
  617. }
  618. mockAgents.err = nil
  619. mockAgents.reqs = nil
  620. mockAgents.resps = append(mockAgents.resps[:0], expectedResponse)
  621. var formattedParent string = fmt.Sprintf("projects/%s", "[PROJECT]")
  622. var request = &dialogflowpb.SearchAgentsRequest{
  623. Parent: formattedParent,
  624. }
  625. c, err := NewAgentsClient(context.Background(), clientOpt)
  626. if err != nil {
  627. t.Fatal(err)
  628. }
  629. resp, err := c.SearchAgents(context.Background(), request).Next()
  630. if err != nil {
  631. t.Fatal(err)
  632. }
  633. if want, got := request, mockAgents.reqs[0]; !proto.Equal(want, got) {
  634. t.Errorf("wrong request %q, want %q", got, want)
  635. }
  636. want := (interface{})(expectedResponse.Agents[0])
  637. got := (interface{})(resp)
  638. var ok bool
  639. switch want := (want).(type) {
  640. case proto.Message:
  641. ok = proto.Equal(want, got.(proto.Message))
  642. default:
  643. ok = want == got
  644. }
  645. if !ok {
  646. t.Errorf("wrong response %q, want %q)", got, want)
  647. }
  648. }
  649. func TestAgentsSearchAgentsError(t *testing.T) {
  650. errCode := codes.PermissionDenied
  651. mockAgents.err = gstatus.Error(errCode, "test error")
  652. var formattedParent string = fmt.Sprintf("projects/%s", "[PROJECT]")
  653. var request = &dialogflowpb.SearchAgentsRequest{
  654. Parent: formattedParent,
  655. }
  656. c, err := NewAgentsClient(context.Background(), clientOpt)
  657. if err != nil {
  658. t.Fatal(err)
  659. }
  660. resp, err := c.SearchAgents(context.Background(), request).Next()
  661. if st, ok := gstatus.FromError(err); !ok {
  662. t.Errorf("got error %v, expected grpc error", err)
  663. } else if c := st.Code(); c != errCode {
  664. t.Errorf("got error code %q, want %q", c, errCode)
  665. }
  666. _ = resp
  667. }
  668. func TestAgentsTrainAgent(t *testing.T) {
  669. var expectedResponse *emptypb.Empty = &emptypb.Empty{}
  670. mockAgents.err = nil
  671. mockAgents.reqs = nil
  672. any, err := ptypes.MarshalAny(expectedResponse)
  673. if err != nil {
  674. t.Fatal(err)
  675. }
  676. mockAgents.resps = append(mockAgents.resps[:0], &longrunningpb.Operation{
  677. Name: "longrunning-test",
  678. Done: true,
  679. Result: &longrunningpb.Operation_Response{Response: any},
  680. })
  681. var formattedParent string = fmt.Sprintf("projects/%s", "[PROJECT]")
  682. var request = &dialogflowpb.TrainAgentRequest{
  683. Parent: formattedParent,
  684. }
  685. c, err := NewAgentsClient(context.Background(), clientOpt)
  686. if err != nil {
  687. t.Fatal(err)
  688. }
  689. respLRO, err := c.TrainAgent(context.Background(), request)
  690. if err != nil {
  691. t.Fatal(err)
  692. }
  693. err = respLRO.Wait(context.Background())
  694. if err != nil {
  695. t.Fatal(err)
  696. }
  697. if want, got := request, mockAgents.reqs[0]; !proto.Equal(want, got) {
  698. t.Errorf("wrong request %q, want %q", got, want)
  699. }
  700. }
  701. func TestAgentsTrainAgentError(t *testing.T) {
  702. errCode := codes.PermissionDenied
  703. mockAgents.err = nil
  704. mockAgents.resps = append(mockAgents.resps[:0], &longrunningpb.Operation{
  705. Name: "longrunning-test",
  706. Done: true,
  707. Result: &longrunningpb.Operation_Error{
  708. Error: &status.Status{
  709. Code: int32(errCode),
  710. Message: "test error",
  711. },
  712. },
  713. })
  714. var formattedParent string = fmt.Sprintf("projects/%s", "[PROJECT]")
  715. var request = &dialogflowpb.TrainAgentRequest{
  716. Parent: formattedParent,
  717. }
  718. c, err := NewAgentsClient(context.Background(), clientOpt)
  719. if err != nil {
  720. t.Fatal(err)
  721. }
  722. respLRO, err := c.TrainAgent(context.Background(), request)
  723. if err != nil {
  724. t.Fatal(err)
  725. }
  726. err = respLRO.Wait(context.Background())
  727. if st, ok := gstatus.FromError(err); !ok {
  728. t.Errorf("got error %v, expected grpc error", err)
  729. } else if c := st.Code(); c != errCode {
  730. t.Errorf("got error code %q, want %q", c, errCode)
  731. }
  732. }
  733. func TestAgentsExportAgent(t *testing.T) {
  734. var agentUri string = "agentUri-1700713166"
  735. var expectedResponse = &dialogflowpb.ExportAgentResponse{
  736. Agent: &dialogflowpb.ExportAgentResponse_AgentUri{
  737. AgentUri: agentUri,
  738. },
  739. }
  740. mockAgents.err = nil
  741. mockAgents.reqs = nil
  742. any, err := ptypes.MarshalAny(expectedResponse)
  743. if err != nil {
  744. t.Fatal(err)
  745. }
  746. mockAgents.resps = append(mockAgents.resps[:0], &longrunningpb.Operation{
  747. Name: "longrunning-test",
  748. Done: true,
  749. Result: &longrunningpb.Operation_Response{Response: any},
  750. })
  751. var formattedParent string = fmt.Sprintf("projects/%s", "[PROJECT]")
  752. var request = &dialogflowpb.ExportAgentRequest{
  753. Parent: formattedParent,
  754. }
  755. c, err := NewAgentsClient(context.Background(), clientOpt)
  756. if err != nil {
  757. t.Fatal(err)
  758. }
  759. respLRO, err := c.ExportAgent(context.Background(), request)
  760. if err != nil {
  761. t.Fatal(err)
  762. }
  763. resp, err := respLRO.Wait(context.Background())
  764. if err != nil {
  765. t.Fatal(err)
  766. }
  767. if want, got := request, mockAgents.reqs[0]; !proto.Equal(want, got) {
  768. t.Errorf("wrong request %q, want %q", got, want)
  769. }
  770. if want, got := expectedResponse, resp; !proto.Equal(want, got) {
  771. t.Errorf("wrong response %q, want %q)", got, want)
  772. }
  773. }
  774. func TestAgentsExportAgentError(t *testing.T) {
  775. errCode := codes.PermissionDenied
  776. mockAgents.err = nil
  777. mockAgents.resps = append(mockAgents.resps[:0], &longrunningpb.Operation{
  778. Name: "longrunning-test",
  779. Done: true,
  780. Result: &longrunningpb.Operation_Error{
  781. Error: &status.Status{
  782. Code: int32(errCode),
  783. Message: "test error",
  784. },
  785. },
  786. })
  787. var formattedParent string = fmt.Sprintf("projects/%s", "[PROJECT]")
  788. var request = &dialogflowpb.ExportAgentRequest{
  789. Parent: formattedParent,
  790. }
  791. c, err := NewAgentsClient(context.Background(), clientOpt)
  792. if err != nil {
  793. t.Fatal(err)
  794. }
  795. respLRO, err := c.ExportAgent(context.Background(), request)
  796. if err != nil {
  797. t.Fatal(err)
  798. }
  799. resp, err := respLRO.Wait(context.Background())
  800. if st, ok := gstatus.FromError(err); !ok {
  801. t.Errorf("got error %v, expected grpc error", err)
  802. } else if c := st.Code(); c != errCode {
  803. t.Errorf("got error code %q, want %q", c, errCode)
  804. }
  805. _ = resp
  806. }
  807. func TestAgentsImportAgent(t *testing.T) {
  808. var expectedResponse *emptypb.Empty = &emptypb.Empty{}
  809. mockAgents.err = nil
  810. mockAgents.reqs = nil
  811. any, err := ptypes.MarshalAny(expectedResponse)
  812. if err != nil {
  813. t.Fatal(err)
  814. }
  815. mockAgents.resps = append(mockAgents.resps[:0], &longrunningpb.Operation{
  816. Name: "longrunning-test",
  817. Done: true,
  818. Result: &longrunningpb.Operation_Response{Response: any},
  819. })
  820. var formattedParent string = fmt.Sprintf("projects/%s", "[PROJECT]")
  821. var request = &dialogflowpb.ImportAgentRequest{
  822. Parent: formattedParent,
  823. }
  824. c, err := NewAgentsClient(context.Background(), clientOpt)
  825. if err != nil {
  826. t.Fatal(err)
  827. }
  828. respLRO, err := c.ImportAgent(context.Background(), request)
  829. if err != nil {
  830. t.Fatal(err)
  831. }
  832. err = respLRO.Wait(context.Background())
  833. if err != nil {
  834. t.Fatal(err)
  835. }
  836. if want, got := request, mockAgents.reqs[0]; !proto.Equal(want, got) {
  837. t.Errorf("wrong request %q, want %q", got, want)
  838. }
  839. }
  840. func TestAgentsImportAgentError(t *testing.T) {
  841. errCode := codes.PermissionDenied
  842. mockAgents.err = nil
  843. mockAgents.resps = append(mockAgents.resps[:0], &longrunningpb.Operation{
  844. Name: "longrunning-test",
  845. Done: true,
  846. Result: &longrunningpb.Operation_Error{
  847. Error: &status.Status{
  848. Code: int32(errCode),
  849. Message: "test error",
  850. },
  851. },
  852. })
  853. var formattedParent string = fmt.Sprintf("projects/%s", "[PROJECT]")
  854. var request = &dialogflowpb.ImportAgentRequest{
  855. Parent: formattedParent,
  856. }
  857. c, err := NewAgentsClient(context.Background(), clientOpt)
  858. if err != nil {
  859. t.Fatal(err)
  860. }
  861. respLRO, err := c.ImportAgent(context.Background(), request)
  862. if err != nil {
  863. t.Fatal(err)
  864. }
  865. err = respLRO.Wait(context.Background())
  866. if st, ok := gstatus.FromError(err); !ok {
  867. t.Errorf("got error %v, expected grpc error", err)
  868. } else if c := st.Code(); c != errCode {
  869. t.Errorf("got error code %q, want %q", c, errCode)
  870. }
  871. }
  872. func TestAgentsRestoreAgent(t *testing.T) {
  873. var expectedResponse *emptypb.Empty = &emptypb.Empty{}
  874. mockAgents.err = nil
  875. mockAgents.reqs = nil
  876. any, err := ptypes.MarshalAny(expectedResponse)
  877. if err != nil {
  878. t.Fatal(err)
  879. }
  880. mockAgents.resps = append(mockAgents.resps[:0], &longrunningpb.Operation{
  881. Name: "longrunning-test",
  882. Done: true,
  883. Result: &longrunningpb.Operation_Response{Response: any},
  884. })
  885. var formattedParent string = fmt.Sprintf("projects/%s", "[PROJECT]")
  886. var request = &dialogflowpb.RestoreAgentRequest{
  887. Parent: formattedParent,
  888. }
  889. c, err := NewAgentsClient(context.Background(), clientOpt)
  890. if err != nil {
  891. t.Fatal(err)
  892. }
  893. respLRO, err := c.RestoreAgent(context.Background(), request)
  894. if err != nil {
  895. t.Fatal(err)
  896. }
  897. err = respLRO.Wait(context.Background())
  898. if err != nil {
  899. t.Fatal(err)
  900. }
  901. if want, got := request, mockAgents.reqs[0]; !proto.Equal(want, got) {
  902. t.Errorf("wrong request %q, want %q", got, want)
  903. }
  904. }
  905. func TestAgentsRestoreAgentError(t *testing.T) {
  906. errCode := codes.PermissionDenied
  907. mockAgents.err = nil
  908. mockAgents.resps = append(mockAgents.resps[:0], &longrunningpb.Operation{
  909. Name: "longrunning-test",
  910. Done: true,
  911. Result: &longrunningpb.Operation_Error{
  912. Error: &status.Status{
  913. Code: int32(errCode),
  914. Message: "test error",
  915. },
  916. },
  917. })
  918. var formattedParent string = fmt.Sprintf("projects/%s", "[PROJECT]")
  919. var request = &dialogflowpb.RestoreAgentRequest{
  920. Parent: formattedParent,
  921. }
  922. c, err := NewAgentsClient(context.Background(), clientOpt)
  923. if err != nil {
  924. t.Fatal(err)
  925. }
  926. respLRO, err := c.RestoreAgent(context.Background(), request)
  927. if err != nil {
  928. t.Fatal(err)
  929. }
  930. err = respLRO.Wait(context.Background())
  931. if st, ok := gstatus.FromError(err); !ok {
  932. t.Errorf("got error %v, expected grpc error", err)
  933. } else if c := st.Code(); c != errCode {
  934. t.Errorf("got error code %q, want %q", c, errCode)
  935. }
  936. }
  937. func TestContextsListContexts(t *testing.T) {
  938. var nextPageToken string = ""
  939. var contextsElement *dialogflowpb.Context = &dialogflowpb.Context{}
  940. var contexts = []*dialogflowpb.Context{contextsElement}
  941. var expectedResponse = &dialogflowpb.ListContextsResponse{
  942. NextPageToken: nextPageToken,
  943. Contexts: contexts,
  944. }
  945. mockContexts.err = nil
  946. mockContexts.reqs = nil
  947. mockContexts.resps = append(mockContexts.resps[:0], expectedResponse)
  948. var formattedParent string = fmt.Sprintf("projects/%s/agent/sessions/%s", "[PROJECT]", "[SESSION]")
  949. var request = &dialogflowpb.ListContextsRequest{
  950. Parent: formattedParent,
  951. }
  952. c, err := NewContextsClient(context.Background(), clientOpt)
  953. if err != nil {
  954. t.Fatal(err)
  955. }
  956. resp, err := c.ListContexts(context.Background(), request).Next()
  957. if err != nil {
  958. t.Fatal(err)
  959. }
  960. if want, got := request, mockContexts.reqs[0]; !proto.Equal(want, got) {
  961. t.Errorf("wrong request %q, want %q", got, want)
  962. }
  963. want := (interface{})(expectedResponse.Contexts[0])
  964. got := (interface{})(resp)
  965. var ok bool
  966. switch want := (want).(type) {
  967. case proto.Message:
  968. ok = proto.Equal(want, got.(proto.Message))
  969. default:
  970. ok = want == got
  971. }
  972. if !ok {
  973. t.Errorf("wrong response %q, want %q)", got, want)
  974. }
  975. }
  976. func TestContextsListContextsError(t *testing.T) {
  977. errCode := codes.PermissionDenied
  978. mockContexts.err = gstatus.Error(errCode, "test error")
  979. var formattedParent string = fmt.Sprintf("projects/%s/agent/sessions/%s", "[PROJECT]", "[SESSION]")
  980. var request = &dialogflowpb.ListContextsRequest{
  981. Parent: formattedParent,
  982. }
  983. c, err := NewContextsClient(context.Background(), clientOpt)
  984. if err != nil {
  985. t.Fatal(err)
  986. }
  987. resp, err := c.ListContexts(context.Background(), request).Next()
  988. if st, ok := gstatus.FromError(err); !ok {
  989. t.Errorf("got error %v, expected grpc error", err)
  990. } else if c := st.Code(); c != errCode {
  991. t.Errorf("got error code %q, want %q", c, errCode)
  992. }
  993. _ = resp
  994. }
  995. func TestContextsGetContext(t *testing.T) {
  996. var name2 string = "name2-1052831874"
  997. var lifespanCount int32 = 1178775510
  998. var expectedResponse = &dialogflowpb.Context{
  999. Name: name2,
  1000. LifespanCount: lifespanCount,
  1001. }
  1002. mockContexts.err = nil
  1003. mockContexts.reqs = nil
  1004. mockContexts.resps = append(mockContexts.resps[:0], expectedResponse)
  1005. var formattedName string = fmt.Sprintf("projects/%s/agent/sessions/%s/contexts/%s", "[PROJECT]", "[SESSION]", "[CONTEXT]")
  1006. var request = &dialogflowpb.GetContextRequest{
  1007. Name: formattedName,
  1008. }
  1009. c, err := NewContextsClient(context.Background(), clientOpt)
  1010. if err != nil {
  1011. t.Fatal(err)
  1012. }
  1013. resp, err := c.GetContext(context.Background(), request)
  1014. if err != nil {
  1015. t.Fatal(err)
  1016. }
  1017. if want, got := request, mockContexts.reqs[0]; !proto.Equal(want, got) {
  1018. t.Errorf("wrong request %q, want %q", got, want)
  1019. }
  1020. if want, got := expectedResponse, resp; !proto.Equal(want, got) {
  1021. t.Errorf("wrong response %q, want %q)", got, want)
  1022. }
  1023. }
  1024. func TestContextsGetContextError(t *testing.T) {
  1025. errCode := codes.PermissionDenied
  1026. mockContexts.err = gstatus.Error(errCode, "test error")
  1027. var formattedName string = fmt.Sprintf("projects/%s/agent/sessions/%s/contexts/%s", "[PROJECT]", "[SESSION]", "[CONTEXT]")
  1028. var request = &dialogflowpb.GetContextRequest{
  1029. Name: formattedName,
  1030. }
  1031. c, err := NewContextsClient(context.Background(), clientOpt)
  1032. if err != nil {
  1033. t.Fatal(err)
  1034. }
  1035. resp, err := c.GetContext(context.Background(), request)
  1036. if st, ok := gstatus.FromError(err); !ok {
  1037. t.Errorf("got error %v, expected grpc error", err)
  1038. } else if c := st.Code(); c != errCode {
  1039. t.Errorf("got error code %q, want %q", c, errCode)
  1040. }
  1041. _ = resp
  1042. }
  1043. func TestContextsCreateContext(t *testing.T) {
  1044. var name string = "name3373707"
  1045. var lifespanCount int32 = 1178775510
  1046. var expectedResponse = &dialogflowpb.Context{
  1047. Name: name,
  1048. LifespanCount: lifespanCount,
  1049. }
  1050. mockContexts.err = nil
  1051. mockContexts.reqs = nil
  1052. mockContexts.resps = append(mockContexts.resps[:0], expectedResponse)
  1053. var formattedParent string = fmt.Sprintf("projects/%s/agent/sessions/%s", "[PROJECT]", "[SESSION]")
  1054. var context_ *dialogflowpb.Context = &dialogflowpb.Context{}
  1055. var request = &dialogflowpb.CreateContextRequest{
  1056. Parent: formattedParent,
  1057. Context: context_,
  1058. }
  1059. c, err := NewContextsClient(context.Background(), clientOpt)
  1060. if err != nil {
  1061. t.Fatal(err)
  1062. }
  1063. resp, err := c.CreateContext(context.Background(), request)
  1064. if err != nil {
  1065. t.Fatal(err)
  1066. }
  1067. if want, got := request, mockContexts.reqs[0]; !proto.Equal(want, got) {
  1068. t.Errorf("wrong request %q, want %q", got, want)
  1069. }
  1070. if want, got := expectedResponse, resp; !proto.Equal(want, got) {
  1071. t.Errorf("wrong response %q, want %q)", got, want)
  1072. }
  1073. }
  1074. func TestContextsCreateContextError(t *testing.T) {
  1075. errCode := codes.PermissionDenied
  1076. mockContexts.err = gstatus.Error(errCode, "test error")
  1077. var formattedParent string = fmt.Sprintf("projects/%s/agent/sessions/%s", "[PROJECT]", "[SESSION]")
  1078. var context_ *dialogflowpb.Context = &dialogflowpb.Context{}
  1079. var request = &dialogflowpb.CreateContextRequest{
  1080. Parent: formattedParent,
  1081. Context: context_,
  1082. }
  1083. c, err := NewContextsClient(context.Background(), clientOpt)
  1084. if err != nil {
  1085. t.Fatal(err)
  1086. }
  1087. resp, err := c.CreateContext(context.Background(), request)
  1088. if st, ok := gstatus.FromError(err); !ok {
  1089. t.Errorf("got error %v, expected grpc error", err)
  1090. } else if c := st.Code(); c != errCode {
  1091. t.Errorf("got error code %q, want %q", c, errCode)
  1092. }
  1093. _ = resp
  1094. }
  1095. func TestContextsUpdateContext(t *testing.T) {
  1096. var name string = "name3373707"
  1097. var lifespanCount int32 = 1178775510
  1098. var expectedResponse = &dialogflowpb.Context{
  1099. Name: name,
  1100. LifespanCount: lifespanCount,
  1101. }
  1102. mockContexts.err = nil
  1103. mockContexts.reqs = nil
  1104. mockContexts.resps = append(mockContexts.resps[:0], expectedResponse)
  1105. var context_ *dialogflowpb.Context = &dialogflowpb.Context{}
  1106. var request = &dialogflowpb.UpdateContextRequest{
  1107. Context: context_,
  1108. }
  1109. c, err := NewContextsClient(context.Background(), clientOpt)
  1110. if err != nil {
  1111. t.Fatal(err)
  1112. }
  1113. resp, err := c.UpdateContext(context.Background(), request)
  1114. if err != nil {
  1115. t.Fatal(err)
  1116. }
  1117. if want, got := request, mockContexts.reqs[0]; !proto.Equal(want, got) {
  1118. t.Errorf("wrong request %q, want %q", got, want)
  1119. }
  1120. if want, got := expectedResponse, resp; !proto.Equal(want, got) {
  1121. t.Errorf("wrong response %q, want %q)", got, want)
  1122. }
  1123. }
  1124. func TestContextsUpdateContextError(t *testing.T) {
  1125. errCode := codes.PermissionDenied
  1126. mockContexts.err = gstatus.Error(errCode, "test error")
  1127. var context_ *dialogflowpb.Context = &dialogflowpb.Context{}
  1128. var request = &dialogflowpb.UpdateContextRequest{
  1129. Context: context_,
  1130. }
  1131. c, err := NewContextsClient(context.Background(), clientOpt)
  1132. if err != nil {
  1133. t.Fatal(err)
  1134. }
  1135. resp, err := c.UpdateContext(context.Background(), request)
  1136. if st, ok := gstatus.FromError(err); !ok {
  1137. t.Errorf("got error %v, expected grpc error", err)
  1138. } else if c := st.Code(); c != errCode {
  1139. t.Errorf("got error code %q, want %q", c, errCode)
  1140. }
  1141. _ = resp
  1142. }
  1143. func TestContextsDeleteContext(t *testing.T) {
  1144. var expectedResponse *emptypb.Empty = &emptypb.Empty{}
  1145. mockContexts.err = nil
  1146. mockContexts.reqs = nil
  1147. mockContexts.resps = append(mockContexts.resps[:0], expectedResponse)
  1148. var formattedName string = fmt.Sprintf("projects/%s/agent/sessions/%s/contexts/%s", "[PROJECT]", "[SESSION]", "[CONTEXT]")
  1149. var request = &dialogflowpb.DeleteContextRequest{
  1150. Name: formattedName,
  1151. }
  1152. c, err := NewContextsClient(context.Background(), clientOpt)
  1153. if err != nil {
  1154. t.Fatal(err)
  1155. }
  1156. err = c.DeleteContext(context.Background(), request)
  1157. if err != nil {
  1158. t.Fatal(err)
  1159. }
  1160. if want, got := request, mockContexts.reqs[0]; !proto.Equal(want, got) {
  1161. t.Errorf("wrong request %q, want %q", got, want)
  1162. }
  1163. }
  1164. func TestContextsDeleteContextError(t *testing.T) {
  1165. errCode := codes.PermissionDenied
  1166. mockContexts.err = gstatus.Error(errCode, "test error")
  1167. var formattedName string = fmt.Sprintf("projects/%s/agent/sessions/%s/contexts/%s", "[PROJECT]", "[SESSION]", "[CONTEXT]")
  1168. var request = &dialogflowpb.DeleteContextRequest{
  1169. Name: formattedName,
  1170. }
  1171. c, err := NewContextsClient(context.Background(), clientOpt)
  1172. if err != nil {
  1173. t.Fatal(err)
  1174. }
  1175. err = c.DeleteContext(context.Background(), request)
  1176. if st, ok := gstatus.FromError(err); !ok {
  1177. t.Errorf("got error %v, expected grpc error", err)
  1178. } else if c := st.Code(); c != errCode {
  1179. t.Errorf("got error code %q, want %q", c, errCode)
  1180. }
  1181. }
  1182. func TestContextsDeleteAllContexts(t *testing.T) {
  1183. var expectedResponse *emptypb.Empty = &emptypb.Empty{}
  1184. mockContexts.err = nil
  1185. mockContexts.reqs = nil
  1186. mockContexts.resps = append(mockContexts.resps[:0], expectedResponse)
  1187. var formattedParent string = fmt.Sprintf("projects/%s/agent/sessions/%s", "[PROJECT]", "[SESSION]")
  1188. var request = &dialogflowpb.DeleteAllContextsRequest{
  1189. Parent: formattedParent,
  1190. }
  1191. c, err := NewContextsClient(context.Background(), clientOpt)
  1192. if err != nil {
  1193. t.Fatal(err)
  1194. }
  1195. err = c.DeleteAllContexts(context.Background(), request)
  1196. if err != nil {
  1197. t.Fatal(err)
  1198. }
  1199. if want, got := request, mockContexts.reqs[0]; !proto.Equal(want, got) {
  1200. t.Errorf("wrong request %q, want %q", got, want)
  1201. }
  1202. }
  1203. func TestContextsDeleteAllContextsError(t *testing.T) {
  1204. errCode := codes.PermissionDenied
  1205. mockContexts.err = gstatus.Error(errCode, "test error")
  1206. var formattedParent string = fmt.Sprintf("projects/%s/agent/sessions/%s", "[PROJECT]", "[SESSION]")
  1207. var request = &dialogflowpb.DeleteAllContextsRequest{
  1208. Parent: formattedParent,
  1209. }
  1210. c, err := NewContextsClient(context.Background(), clientOpt)
  1211. if err != nil {
  1212. t.Fatal(err)
  1213. }
  1214. err = c.DeleteAllContexts(context.Background(), request)
  1215. if st, ok := gstatus.FromError(err); !ok {
  1216. t.Errorf("got error %v, expected grpc error", err)
  1217. } else if c := st.Code(); c != errCode {
  1218. t.Errorf("got error code %q, want %q", c, errCode)
  1219. }
  1220. }
  1221. func TestEntityTypesListEntityTypes(t *testing.T) {
  1222. var nextPageToken string = ""
  1223. var entityTypesElement *dialogflowpb.EntityType = &dialogflowpb.EntityType{}
  1224. var entityTypes = []*dialogflowpb.EntityType{entityTypesElement}
  1225. var expectedResponse = &dialogflowpb.ListEntityTypesResponse{
  1226. NextPageToken: nextPageToken,
  1227. EntityTypes: entityTypes,
  1228. }
  1229. mockEntityTypes.err = nil
  1230. mockEntityTypes.reqs = nil
  1231. mockEntityTypes.resps = append(mockEntityTypes.resps[:0], expectedResponse)
  1232. var formattedParent string = fmt.Sprintf("projects/%s/agent", "[PROJECT]")
  1233. var request = &dialogflowpb.ListEntityTypesRequest{
  1234. Parent: formattedParent,
  1235. }
  1236. c, err := NewEntityTypesClient(context.Background(), clientOpt)
  1237. if err != nil {
  1238. t.Fatal(err)
  1239. }
  1240. resp, err := c.ListEntityTypes(context.Background(), request).Next()
  1241. if err != nil {
  1242. t.Fatal(err)
  1243. }
  1244. if want, got := request, mockEntityTypes.reqs[0]; !proto.Equal(want, got) {
  1245. t.Errorf("wrong request %q, want %q", got, want)
  1246. }
  1247. want := (interface{})(expectedResponse.EntityTypes[0])
  1248. got := (interface{})(resp)
  1249. var ok bool
  1250. switch want := (want).(type) {
  1251. case proto.Message:
  1252. ok = proto.Equal(want, got.(proto.Message))
  1253. default:
  1254. ok = want == got
  1255. }
  1256. if !ok {
  1257. t.Errorf("wrong response %q, want %q)", got, want)
  1258. }
  1259. }
  1260. func TestEntityTypesListEntityTypesError(t *testing.T) {
  1261. errCode := codes.PermissionDenied
  1262. mockEntityTypes.err = gstatus.Error(errCode, "test error")
  1263. var formattedParent string = fmt.Sprintf("projects/%s/agent", "[PROJECT]")
  1264. var request = &dialogflowpb.ListEntityTypesRequest{
  1265. Parent: formattedParent,
  1266. }
  1267. c, err := NewEntityTypesClient(context.Background(), clientOpt)
  1268. if err != nil {
  1269. t.Fatal(err)
  1270. }
  1271. resp, err := c.ListEntityTypes(context.Background(), request).Next()
  1272. if st, ok := gstatus.FromError(err); !ok {
  1273. t.Errorf("got error %v, expected grpc error", err)
  1274. } else if c := st.Code(); c != errCode {
  1275. t.Errorf("got error code %q, want %q", c, errCode)
  1276. }
  1277. _ = resp
  1278. }
  1279. func TestEntityTypesGetEntityType(t *testing.T) {
  1280. var name2 string = "name2-1052831874"
  1281. var displayName string = "displayName1615086568"
  1282. var expectedResponse = &dialogflowpb.EntityType{
  1283. Name: name2,
  1284. DisplayName: displayName,
  1285. }
  1286. mockEntityTypes.err = nil
  1287. mockEntityTypes.reqs = nil
  1288. mockEntityTypes.resps = append(mockEntityTypes.resps[:0], expectedResponse)
  1289. var formattedName string = fmt.Sprintf("projects/%s/agent/entityTypes/%s", "[PROJECT]", "[ENTITY_TYPE]")
  1290. var request = &dialogflowpb.GetEntityTypeRequest{
  1291. Name: formattedName,
  1292. }
  1293. c, err := NewEntityTypesClient(context.Background(), clientOpt)
  1294. if err != nil {
  1295. t.Fatal(err)
  1296. }
  1297. resp, err := c.GetEntityType(context.Background(), request)
  1298. if err != nil {
  1299. t.Fatal(err)
  1300. }
  1301. if want, got := request, mockEntityTypes.reqs[0]; !proto.Equal(want, got) {
  1302. t.Errorf("wrong request %q, want %q", got, want)
  1303. }
  1304. if want, got := expectedResponse, resp; !proto.Equal(want, got) {
  1305. t.Errorf("wrong response %q, want %q)", got, want)
  1306. }
  1307. }
  1308. func TestEntityTypesGetEntityTypeError(t *testing.T) {
  1309. errCode := codes.PermissionDenied
  1310. mockEntityTypes.err = gstatus.Error(errCode, "test error")
  1311. var formattedName string = fmt.Sprintf("projects/%s/agent/entityTypes/%s", "[PROJECT]", "[ENTITY_TYPE]")
  1312. var request = &dialogflowpb.GetEntityTypeRequest{
  1313. Name: formattedName,
  1314. }
  1315. c, err := NewEntityTypesClient(context.Background(), clientOpt)
  1316. if err != nil {
  1317. t.Fatal(err)
  1318. }
  1319. resp, err := c.GetEntityType(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 TestEntityTypesCreateEntityType(t *testing.T) {
  1328. var name string = "name3373707"
  1329. var displayName string = "displayName1615086568"
  1330. var expectedResponse = &dialogflowpb.EntityType{
  1331. Name: name,
  1332. DisplayName: displayName,
  1333. }
  1334. mockEntityTypes.err = nil
  1335. mockEntityTypes.reqs = nil
  1336. mockEntityTypes.resps = append(mockEntityTypes.resps[:0], expectedResponse)
  1337. var formattedParent string = fmt.Sprintf("projects/%s/agent", "[PROJECT]")
  1338. var entityType *dialogflowpb.EntityType = &dialogflowpb.EntityType{}
  1339. var request = &dialogflowpb.CreateEntityTypeRequest{
  1340. Parent: formattedParent,
  1341. EntityType: entityType,
  1342. }
  1343. c, err := NewEntityTypesClient(context.Background(), clientOpt)
  1344. if err != nil {
  1345. t.Fatal(err)
  1346. }
  1347. resp, err := c.CreateEntityType(context.Background(), request)
  1348. if err != nil {
  1349. t.Fatal(err)
  1350. }
  1351. if want, got := request, mockEntityTypes.reqs[0]; !proto.Equal(want, got) {
  1352. t.Errorf("wrong request %q, want %q", got, want)
  1353. }
  1354. if want, got := expectedResponse, resp; !proto.Equal(want, got) {
  1355. t.Errorf("wrong response %q, want %q)", got, want)
  1356. }
  1357. }
  1358. func TestEntityTypesCreateEntityTypeError(t *testing.T) {
  1359. errCode := codes.PermissionDenied
  1360. mockEntityTypes.err = gstatus.Error(errCode, "test error")
  1361. var formattedParent string = fmt.Sprintf("projects/%s/agent", "[PROJECT]")
  1362. var entityType *dialogflowpb.EntityType = &dialogflowpb.EntityType{}
  1363. var request = &dialogflowpb.CreateEntityTypeRequest{
  1364. Parent: formattedParent,
  1365. EntityType: entityType,
  1366. }
  1367. c, err := NewEntityTypesClient(context.Background(), clientOpt)
  1368. if err != nil {
  1369. t.Fatal(err)
  1370. }
  1371. resp, err := c.CreateEntityType(context.Background(), request)
  1372. if st, ok := gstatus.FromError(err); !ok {
  1373. t.Errorf("got error %v, expected grpc error", err)
  1374. } else if c := st.Code(); c != errCode {
  1375. t.Errorf("got error code %q, want %q", c, errCode)
  1376. }
  1377. _ = resp
  1378. }
  1379. func TestEntityTypesUpdateEntityType(t *testing.T) {
  1380. var name string = "name3373707"
  1381. var displayName string = "displayName1615086568"
  1382. var expectedResponse = &dialogflowpb.EntityType{
  1383. Name: name,
  1384. DisplayName: displayName,
  1385. }
  1386. mockEntityTypes.err = nil
  1387. mockEntityTypes.reqs = nil
  1388. mockEntityTypes.resps = append(mockEntityTypes.resps[:0], expectedResponse)
  1389. var entityType *dialogflowpb.EntityType = &dialogflowpb.EntityType{}
  1390. var request = &dialogflowpb.UpdateEntityTypeRequest{
  1391. EntityType: entityType,
  1392. }
  1393. c, err := NewEntityTypesClient(context.Background(), clientOpt)
  1394. if err != nil {
  1395. t.Fatal(err)
  1396. }
  1397. resp, err := c.UpdateEntityType(context.Background(), request)
  1398. if err != nil {
  1399. t.Fatal(err)
  1400. }
  1401. if want, got := request, mockEntityTypes.reqs[0]; !proto.Equal(want, got) {
  1402. t.Errorf("wrong request %q, want %q", got, want)
  1403. }
  1404. if want, got := expectedResponse, resp; !proto.Equal(want, got) {
  1405. t.Errorf("wrong response %q, want %q)", got, want)
  1406. }
  1407. }
  1408. func TestEntityTypesUpdateEntityTypeError(t *testing.T) {
  1409. errCode := codes.PermissionDenied
  1410. mockEntityTypes.err = gstatus.Error(errCode, "test error")
  1411. var entityType *dialogflowpb.EntityType = &dialogflowpb.EntityType{}
  1412. var request = &dialogflowpb.UpdateEntityTypeRequest{
  1413. EntityType: entityType,
  1414. }
  1415. c, err := NewEntityTypesClient(context.Background(), clientOpt)
  1416. if err != nil {
  1417. t.Fatal(err)
  1418. }
  1419. resp, err := c.UpdateEntityType(context.Background(), request)
  1420. if st, ok := gstatus.FromError(err); !ok {
  1421. t.Errorf("got error %v, expected grpc error", err)
  1422. } else if c := st.Code(); c != errCode {
  1423. t.Errorf("got error code %q, want %q", c, errCode)
  1424. }
  1425. _ = resp
  1426. }
  1427. func TestEntityTypesDeleteEntityType(t *testing.T) {
  1428. var expectedResponse *emptypb.Empty = &emptypb.Empty{}
  1429. mockEntityTypes.err = nil
  1430. mockEntityTypes.reqs = nil
  1431. mockEntityTypes.resps = append(mockEntityTypes.resps[:0], expectedResponse)
  1432. var formattedName string = fmt.Sprintf("projects/%s/agent/entityTypes/%s", "[PROJECT]", "[ENTITY_TYPE]")
  1433. var request = &dialogflowpb.DeleteEntityTypeRequest{
  1434. Name: formattedName,
  1435. }
  1436. c, err := NewEntityTypesClient(context.Background(), clientOpt)
  1437. if err != nil {
  1438. t.Fatal(err)
  1439. }
  1440. err = c.DeleteEntityType(context.Background(), request)
  1441. if err != nil {
  1442. t.Fatal(err)
  1443. }
  1444. if want, got := request, mockEntityTypes.reqs[0]; !proto.Equal(want, got) {
  1445. t.Errorf("wrong request %q, want %q", got, want)
  1446. }
  1447. }
  1448. func TestEntityTypesDeleteEntityTypeError(t *testing.T) {
  1449. errCode := codes.PermissionDenied
  1450. mockEntityTypes.err = gstatus.Error(errCode, "test error")
  1451. var formattedName string = fmt.Sprintf("projects/%s/agent/entityTypes/%s", "[PROJECT]", "[ENTITY_TYPE]")
  1452. var request = &dialogflowpb.DeleteEntityTypeRequest{
  1453. Name: formattedName,
  1454. }
  1455. c, err := NewEntityTypesClient(context.Background(), clientOpt)
  1456. if err != nil {
  1457. t.Fatal(err)
  1458. }
  1459. err = c.DeleteEntityType(context.Background(), request)
  1460. if st, ok := gstatus.FromError(err); !ok {
  1461. t.Errorf("got error %v, expected grpc error", err)
  1462. } else if c := st.Code(); c != errCode {
  1463. t.Errorf("got error code %q, want %q", c, errCode)
  1464. }
  1465. }
  1466. func TestEntityTypesBatchUpdateEntityTypes(t *testing.T) {
  1467. var expectedResponse *dialogflowpb.BatchUpdateEntityTypesResponse = &dialogflowpb.BatchUpdateEntityTypesResponse{}
  1468. mockEntityTypes.err = nil
  1469. mockEntityTypes.reqs = nil
  1470. any, err := ptypes.MarshalAny(expectedResponse)
  1471. if err != nil {
  1472. t.Fatal(err)
  1473. }
  1474. mockEntityTypes.resps = append(mockEntityTypes.resps[:0], &longrunningpb.Operation{
  1475. Name: "longrunning-test",
  1476. Done: true,
  1477. Result: &longrunningpb.Operation_Response{Response: any},
  1478. })
  1479. var formattedParent string = fmt.Sprintf("projects/%s/agent", "[PROJECT]")
  1480. var request = &dialogflowpb.BatchUpdateEntityTypesRequest{
  1481. Parent: formattedParent,
  1482. }
  1483. c, err := NewEntityTypesClient(context.Background(), clientOpt)
  1484. if err != nil {
  1485. t.Fatal(err)
  1486. }
  1487. respLRO, err := c.BatchUpdateEntityTypes(context.Background(), request)
  1488. if err != nil {
  1489. t.Fatal(err)
  1490. }
  1491. resp, err := respLRO.Wait(context.Background())
  1492. if err != nil {
  1493. t.Fatal(err)
  1494. }
  1495. if want, got := request, mockEntityTypes.reqs[0]; !proto.Equal(want, got) {
  1496. t.Errorf("wrong request %q, want %q", got, want)
  1497. }
  1498. if want, got := expectedResponse, resp; !proto.Equal(want, got) {
  1499. t.Errorf("wrong response %q, want %q)", got, want)
  1500. }
  1501. }
  1502. func TestEntityTypesBatchUpdateEntityTypesError(t *testing.T) {
  1503. errCode := codes.PermissionDenied
  1504. mockEntityTypes.err = nil
  1505. mockEntityTypes.resps = append(mockEntityTypes.resps[:0], &longrunningpb.Operation{
  1506. Name: "longrunning-test",
  1507. Done: true,
  1508. Result: &longrunningpb.Operation_Error{
  1509. Error: &status.Status{
  1510. Code: int32(errCode),
  1511. Message: "test error",
  1512. },
  1513. },
  1514. })
  1515. var formattedParent string = fmt.Sprintf("projects/%s/agent", "[PROJECT]")
  1516. var request = &dialogflowpb.BatchUpdateEntityTypesRequest{
  1517. Parent: formattedParent,
  1518. }
  1519. c, err := NewEntityTypesClient(context.Background(), clientOpt)
  1520. if err != nil {
  1521. t.Fatal(err)
  1522. }
  1523. respLRO, err := c.BatchUpdateEntityTypes(context.Background(), request)
  1524. if err != nil {
  1525. t.Fatal(err)
  1526. }
  1527. resp, err := respLRO.Wait(context.Background())
  1528. if st, ok := gstatus.FromError(err); !ok {
  1529. t.Errorf("got error %v, expected grpc error", err)
  1530. } else if c := st.Code(); c != errCode {
  1531. t.Errorf("got error code %q, want %q", c, errCode)
  1532. }
  1533. _ = resp
  1534. }
  1535. func TestEntityTypesBatchDeleteEntityTypes(t *testing.T) {
  1536. var expectedResponse *emptypb.Empty = &emptypb.Empty{}
  1537. mockEntityTypes.err = nil
  1538. mockEntityTypes.reqs = nil
  1539. any, err := ptypes.MarshalAny(expectedResponse)
  1540. if err != nil {
  1541. t.Fatal(err)
  1542. }
  1543. mockEntityTypes.resps = append(mockEntityTypes.resps[:0], &longrunningpb.Operation{
  1544. Name: "longrunning-test",
  1545. Done: true,
  1546. Result: &longrunningpb.Operation_Response{Response: any},
  1547. })
  1548. var formattedParent string = fmt.Sprintf("projects/%s/agent", "[PROJECT]")
  1549. var entityTypeNames []string = nil
  1550. var request = &dialogflowpb.BatchDeleteEntityTypesRequest{
  1551. Parent: formattedParent,
  1552. EntityTypeNames: entityTypeNames,
  1553. }
  1554. c, err := NewEntityTypesClient(context.Background(), clientOpt)
  1555. if err != nil {
  1556. t.Fatal(err)
  1557. }
  1558. respLRO, err := c.BatchDeleteEntityTypes(context.Background(), request)
  1559. if err != nil {
  1560. t.Fatal(err)
  1561. }
  1562. err = respLRO.Wait(context.Background())
  1563. if err != nil {
  1564. t.Fatal(err)
  1565. }
  1566. if want, got := request, mockEntityTypes.reqs[0]; !proto.Equal(want, got) {
  1567. t.Errorf("wrong request %q, want %q", got, want)
  1568. }
  1569. }
  1570. func TestEntityTypesBatchDeleteEntityTypesError(t *testing.T) {
  1571. errCode := codes.PermissionDenied
  1572. mockEntityTypes.err = nil
  1573. mockEntityTypes.resps = append(mockEntityTypes.resps[:0], &longrunningpb.Operation{
  1574. Name: "longrunning-test",
  1575. Done: true,
  1576. Result: &longrunningpb.Operation_Error{
  1577. Error: &status.Status{
  1578. Code: int32(errCode),
  1579. Message: "test error",
  1580. },
  1581. },
  1582. })
  1583. var formattedParent string = fmt.Sprintf("projects/%s/agent", "[PROJECT]")
  1584. var entityTypeNames []string = nil
  1585. var request = &dialogflowpb.BatchDeleteEntityTypesRequest{
  1586. Parent: formattedParent,
  1587. EntityTypeNames: entityTypeNames,
  1588. }
  1589. c, err := NewEntityTypesClient(context.Background(), clientOpt)
  1590. if err != nil {
  1591. t.Fatal(err)
  1592. }
  1593. respLRO, err := c.BatchDeleteEntityTypes(context.Background(), request)
  1594. if err != nil {
  1595. t.Fatal(err)
  1596. }
  1597. err = respLRO.Wait(context.Background())
  1598. if st, ok := gstatus.FromError(err); !ok {
  1599. t.Errorf("got error %v, expected grpc error", err)
  1600. } else if c := st.Code(); c != errCode {
  1601. t.Errorf("got error code %q, want %q", c, errCode)
  1602. }
  1603. }
  1604. func TestEntityTypesBatchCreateEntities(t *testing.T) {
  1605. var expectedResponse *emptypb.Empty = &emptypb.Empty{}
  1606. mockEntityTypes.err = nil
  1607. mockEntityTypes.reqs = nil
  1608. any, err := ptypes.MarshalAny(expectedResponse)
  1609. if err != nil {
  1610. t.Fatal(err)
  1611. }
  1612. mockEntityTypes.resps = append(mockEntityTypes.resps[:0], &longrunningpb.Operation{
  1613. Name: "longrunning-test",
  1614. Done: true,
  1615. Result: &longrunningpb.Operation_Response{Response: any},
  1616. })
  1617. var formattedParent string = fmt.Sprintf("projects/%s/agent/entityTypes/%s", "[PROJECT]", "[ENTITY_TYPE]")
  1618. var entities []*dialogflowpb.EntityType_Entity = nil
  1619. var request = &dialogflowpb.BatchCreateEntitiesRequest{
  1620. Parent: formattedParent,
  1621. Entities: entities,
  1622. }
  1623. c, err := NewEntityTypesClient(context.Background(), clientOpt)
  1624. if err != nil {
  1625. t.Fatal(err)
  1626. }
  1627. respLRO, err := c.BatchCreateEntities(context.Background(), request)
  1628. if err != nil {
  1629. t.Fatal(err)
  1630. }
  1631. err = respLRO.Wait(context.Background())
  1632. if err != nil {
  1633. t.Fatal(err)
  1634. }
  1635. if want, got := request, mockEntityTypes.reqs[0]; !proto.Equal(want, got) {
  1636. t.Errorf("wrong request %q, want %q", got, want)
  1637. }
  1638. }
  1639. func TestEntityTypesBatchCreateEntitiesError(t *testing.T) {
  1640. errCode := codes.PermissionDenied
  1641. mockEntityTypes.err = nil
  1642. mockEntityTypes.resps = append(mockEntityTypes.resps[:0], &longrunningpb.Operation{
  1643. Name: "longrunning-test",
  1644. Done: true,
  1645. Result: &longrunningpb.Operation_Error{
  1646. Error: &status.Status{
  1647. Code: int32(errCode),
  1648. Message: "test error",
  1649. },
  1650. },
  1651. })
  1652. var formattedParent string = fmt.Sprintf("projects/%s/agent/entityTypes/%s", "[PROJECT]", "[ENTITY_TYPE]")
  1653. var entities []*dialogflowpb.EntityType_Entity = nil
  1654. var request = &dialogflowpb.BatchCreateEntitiesRequest{
  1655. Parent: formattedParent,
  1656. Entities: entities,
  1657. }
  1658. c, err := NewEntityTypesClient(context.Background(), clientOpt)
  1659. if err != nil {
  1660. t.Fatal(err)
  1661. }
  1662. respLRO, err := c.BatchCreateEntities(context.Background(), request)
  1663. if err != nil {
  1664. t.Fatal(err)
  1665. }
  1666. err = respLRO.Wait(context.Background())
  1667. if st, ok := gstatus.FromError(err); !ok {
  1668. t.Errorf("got error %v, expected grpc error", err)
  1669. } else if c := st.Code(); c != errCode {
  1670. t.Errorf("got error code %q, want %q", c, errCode)
  1671. }
  1672. }
  1673. func TestEntityTypesBatchUpdateEntities(t *testing.T) {
  1674. var expectedResponse *emptypb.Empty = &emptypb.Empty{}
  1675. mockEntityTypes.err = nil
  1676. mockEntityTypes.reqs = nil
  1677. any, err := ptypes.MarshalAny(expectedResponse)
  1678. if err != nil {
  1679. t.Fatal(err)
  1680. }
  1681. mockEntityTypes.resps = append(mockEntityTypes.resps[:0], &longrunningpb.Operation{
  1682. Name: "longrunning-test",
  1683. Done: true,
  1684. Result: &longrunningpb.Operation_Response{Response: any},
  1685. })
  1686. var formattedParent string = fmt.Sprintf("projects/%s/agent/entityTypes/%s", "[PROJECT]", "[ENTITY_TYPE]")
  1687. var entities []*dialogflowpb.EntityType_Entity = nil
  1688. var request = &dialogflowpb.BatchUpdateEntitiesRequest{
  1689. Parent: formattedParent,
  1690. Entities: entities,
  1691. }
  1692. c, err := NewEntityTypesClient(context.Background(), clientOpt)
  1693. if err != nil {
  1694. t.Fatal(err)
  1695. }
  1696. respLRO, err := c.BatchUpdateEntities(context.Background(), request)
  1697. if err != nil {
  1698. t.Fatal(err)
  1699. }
  1700. err = respLRO.Wait(context.Background())
  1701. if err != nil {
  1702. t.Fatal(err)
  1703. }
  1704. if want, got := request, mockEntityTypes.reqs[0]; !proto.Equal(want, got) {
  1705. t.Errorf("wrong request %q, want %q", got, want)
  1706. }
  1707. }
  1708. func TestEntityTypesBatchUpdateEntitiesError(t *testing.T) {
  1709. errCode := codes.PermissionDenied
  1710. mockEntityTypes.err = nil
  1711. mockEntityTypes.resps = append(mockEntityTypes.resps[:0], &longrunningpb.Operation{
  1712. Name: "longrunning-test",
  1713. Done: true,
  1714. Result: &longrunningpb.Operation_Error{
  1715. Error: &status.Status{
  1716. Code: int32(errCode),
  1717. Message: "test error",
  1718. },
  1719. },
  1720. })
  1721. var formattedParent string = fmt.Sprintf("projects/%s/agent/entityTypes/%s", "[PROJECT]", "[ENTITY_TYPE]")
  1722. var entities []*dialogflowpb.EntityType_Entity = nil
  1723. var request = &dialogflowpb.BatchUpdateEntitiesRequest{
  1724. Parent: formattedParent,
  1725. Entities: entities,
  1726. }
  1727. c, err := NewEntityTypesClient(context.Background(), clientOpt)
  1728. if err != nil {
  1729. t.Fatal(err)
  1730. }
  1731. respLRO, err := c.BatchUpdateEntities(context.Background(), request)
  1732. if err != nil {
  1733. t.Fatal(err)
  1734. }
  1735. err = respLRO.Wait(context.Background())
  1736. if st, ok := gstatus.FromError(err); !ok {
  1737. t.Errorf("got error %v, expected grpc error", err)
  1738. } else if c := st.Code(); c != errCode {
  1739. t.Errorf("got error code %q, want %q", c, errCode)
  1740. }
  1741. }
  1742. func TestEntityTypesBatchDeleteEntities(t *testing.T) {
  1743. var expectedResponse *emptypb.Empty = &emptypb.Empty{}
  1744. mockEntityTypes.err = nil
  1745. mockEntityTypes.reqs = nil
  1746. any, err := ptypes.MarshalAny(expectedResponse)
  1747. if err != nil {
  1748. t.Fatal(err)
  1749. }
  1750. mockEntityTypes.resps = append(mockEntityTypes.resps[:0], &longrunningpb.Operation{
  1751. Name: "longrunning-test",
  1752. Done: true,
  1753. Result: &longrunningpb.Operation_Response{Response: any},
  1754. })
  1755. var formattedParent string = fmt.Sprintf("projects/%s/agent/entityTypes/%s", "[PROJECT]", "[ENTITY_TYPE]")
  1756. var entityValues []string = nil
  1757. var request = &dialogflowpb.BatchDeleteEntitiesRequest{
  1758. Parent: formattedParent,
  1759. EntityValues: entityValues,
  1760. }
  1761. c, err := NewEntityTypesClient(context.Background(), clientOpt)
  1762. if err != nil {
  1763. t.Fatal(err)
  1764. }
  1765. respLRO, err := c.BatchDeleteEntities(context.Background(), request)
  1766. if err != nil {
  1767. t.Fatal(err)
  1768. }
  1769. err = respLRO.Wait(context.Background())
  1770. if err != nil {
  1771. t.Fatal(err)
  1772. }
  1773. if want, got := request, mockEntityTypes.reqs[0]; !proto.Equal(want, got) {
  1774. t.Errorf("wrong request %q, want %q", got, want)
  1775. }
  1776. }
  1777. func TestEntityTypesBatchDeleteEntitiesError(t *testing.T) {
  1778. errCode := codes.PermissionDenied
  1779. mockEntityTypes.err = nil
  1780. mockEntityTypes.resps = append(mockEntityTypes.resps[:0], &longrunningpb.Operation{
  1781. Name: "longrunning-test",
  1782. Done: true,
  1783. Result: &longrunningpb.Operation_Error{
  1784. Error: &status.Status{
  1785. Code: int32(errCode),
  1786. Message: "test error",
  1787. },
  1788. },
  1789. })
  1790. var formattedParent string = fmt.Sprintf("projects/%s/agent/entityTypes/%s", "[PROJECT]", "[ENTITY_TYPE]")
  1791. var entityValues []string = nil
  1792. var request = &dialogflowpb.BatchDeleteEntitiesRequest{
  1793. Parent: formattedParent,
  1794. EntityValues: entityValues,
  1795. }
  1796. c, err := NewEntityTypesClient(context.Background(), clientOpt)
  1797. if err != nil {
  1798. t.Fatal(err)
  1799. }
  1800. respLRO, err := c.BatchDeleteEntities(context.Background(), request)
  1801. if err != nil {
  1802. t.Fatal(err)
  1803. }
  1804. err = respLRO.Wait(context.Background())
  1805. if st, ok := gstatus.FromError(err); !ok {
  1806. t.Errorf("got error %v, expected grpc error", err)
  1807. } else if c := st.Code(); c != errCode {
  1808. t.Errorf("got error code %q, want %q", c, errCode)
  1809. }
  1810. }
  1811. func TestIntentsListIntents(t *testing.T) {
  1812. var nextPageToken string = ""
  1813. var intentsElement *dialogflowpb.Intent = &dialogflowpb.Intent{}
  1814. var intents = []*dialogflowpb.Intent{intentsElement}
  1815. var expectedResponse = &dialogflowpb.ListIntentsResponse{
  1816. NextPageToken: nextPageToken,
  1817. Intents: intents,
  1818. }
  1819. mockIntents.err = nil
  1820. mockIntents.reqs = nil
  1821. mockIntents.resps = append(mockIntents.resps[:0], expectedResponse)
  1822. var formattedParent string = fmt.Sprintf("projects/%s/agent", "[PROJECT]")
  1823. var request = &dialogflowpb.ListIntentsRequest{
  1824. Parent: formattedParent,
  1825. }
  1826. c, err := NewIntentsClient(context.Background(), clientOpt)
  1827. if err != nil {
  1828. t.Fatal(err)
  1829. }
  1830. resp, err := c.ListIntents(context.Background(), request).Next()
  1831. if err != nil {
  1832. t.Fatal(err)
  1833. }
  1834. if want, got := request, mockIntents.reqs[0]; !proto.Equal(want, got) {
  1835. t.Errorf("wrong request %q, want %q", got, want)
  1836. }
  1837. want := (interface{})(expectedResponse.Intents[0])
  1838. got := (interface{})(resp)
  1839. var ok bool
  1840. switch want := (want).(type) {
  1841. case proto.Message:
  1842. ok = proto.Equal(want, got.(proto.Message))
  1843. default:
  1844. ok = want == got
  1845. }
  1846. if !ok {
  1847. t.Errorf("wrong response %q, want %q)", got, want)
  1848. }
  1849. }
  1850. func TestIntentsListIntentsError(t *testing.T) {
  1851. errCode := codes.PermissionDenied
  1852. mockIntents.err = gstatus.Error(errCode, "test error")
  1853. var formattedParent string = fmt.Sprintf("projects/%s/agent", "[PROJECT]")
  1854. var request = &dialogflowpb.ListIntentsRequest{
  1855. Parent: formattedParent,
  1856. }
  1857. c, err := NewIntentsClient(context.Background(), clientOpt)
  1858. if err != nil {
  1859. t.Fatal(err)
  1860. }
  1861. resp, err := c.ListIntents(context.Background(), request).Next()
  1862. if st, ok := gstatus.FromError(err); !ok {
  1863. t.Errorf("got error %v, expected grpc error", err)
  1864. } else if c := st.Code(); c != errCode {
  1865. t.Errorf("got error code %q, want %q", c, errCode)
  1866. }
  1867. _ = resp
  1868. }
  1869. func TestIntentsGetIntent(t *testing.T) {
  1870. var name2 string = "name2-1052831874"
  1871. var displayName string = "displayName1615086568"
  1872. var priority int32 = 1165461084
  1873. var isFallback bool = false
  1874. var mlDisabled bool = true
  1875. var action string = "action-1422950858"
  1876. var resetContexts bool = true
  1877. var rootFollowupIntentName string = "rootFollowupIntentName402253784"
  1878. var parentFollowupIntentName string = "parentFollowupIntentName-1131901680"
  1879. var expectedResponse = &dialogflowpb.Intent{
  1880. Name: name2,
  1881. DisplayName: displayName,
  1882. Priority: priority,
  1883. IsFallback: isFallback,
  1884. MlDisabled: mlDisabled,
  1885. Action: action,
  1886. ResetContexts: resetContexts,
  1887. RootFollowupIntentName: rootFollowupIntentName,
  1888. ParentFollowupIntentName: parentFollowupIntentName,
  1889. }
  1890. mockIntents.err = nil
  1891. mockIntents.reqs = nil
  1892. mockIntents.resps = append(mockIntents.resps[:0], expectedResponse)
  1893. var formattedName string = fmt.Sprintf("projects/%s/agent/intents/%s", "[PROJECT]", "[INTENT]")
  1894. var request = &dialogflowpb.GetIntentRequest{
  1895. Name: formattedName,
  1896. }
  1897. c, err := NewIntentsClient(context.Background(), clientOpt)
  1898. if err != nil {
  1899. t.Fatal(err)
  1900. }
  1901. resp, err := c.GetIntent(context.Background(), request)
  1902. if err != nil {
  1903. t.Fatal(err)
  1904. }
  1905. if want, got := request, mockIntents.reqs[0]; !proto.Equal(want, got) {
  1906. t.Errorf("wrong request %q, want %q", got, want)
  1907. }
  1908. if want, got := expectedResponse, resp; !proto.Equal(want, got) {
  1909. t.Errorf("wrong response %q, want %q)", got, want)
  1910. }
  1911. }
  1912. func TestIntentsGetIntentError(t *testing.T) {
  1913. errCode := codes.PermissionDenied
  1914. mockIntents.err = gstatus.Error(errCode, "test error")
  1915. var formattedName string = fmt.Sprintf("projects/%s/agent/intents/%s", "[PROJECT]", "[INTENT]")
  1916. var request = &dialogflowpb.GetIntentRequest{
  1917. Name: formattedName,
  1918. }
  1919. c, err := NewIntentsClient(context.Background(), clientOpt)
  1920. if err != nil {
  1921. t.Fatal(err)
  1922. }
  1923. resp, err := c.GetIntent(context.Background(), request)
  1924. if st, ok := gstatus.FromError(err); !ok {
  1925. t.Errorf("got error %v, expected grpc error", err)
  1926. } else if c := st.Code(); c != errCode {
  1927. t.Errorf("got error code %q, want %q", c, errCode)
  1928. }
  1929. _ = resp
  1930. }
  1931. func TestIntentsCreateIntent(t *testing.T) {
  1932. var name string = "name3373707"
  1933. var displayName string = "displayName1615086568"
  1934. var priority int32 = 1165461084
  1935. var isFallback bool = false
  1936. var mlDisabled bool = true
  1937. var action string = "action-1422950858"
  1938. var resetContexts bool = true
  1939. var rootFollowupIntentName string = "rootFollowupIntentName402253784"
  1940. var parentFollowupIntentName string = "parentFollowupIntentName-1131901680"
  1941. var expectedResponse = &dialogflowpb.Intent{
  1942. Name: name,
  1943. DisplayName: displayName,
  1944. Priority: priority,
  1945. IsFallback: isFallback,
  1946. MlDisabled: mlDisabled,
  1947. Action: action,
  1948. ResetContexts: resetContexts,
  1949. RootFollowupIntentName: rootFollowupIntentName,
  1950. ParentFollowupIntentName: parentFollowupIntentName,
  1951. }
  1952. mockIntents.err = nil
  1953. mockIntents.reqs = nil
  1954. mockIntents.resps = append(mockIntents.resps[:0], expectedResponse)
  1955. var formattedParent string = fmt.Sprintf("projects/%s/agent", "[PROJECT]")
  1956. var intent *dialogflowpb.Intent = &dialogflowpb.Intent{}
  1957. var request = &dialogflowpb.CreateIntentRequest{
  1958. Parent: formattedParent,
  1959. Intent: intent,
  1960. }
  1961. c, err := NewIntentsClient(context.Background(), clientOpt)
  1962. if err != nil {
  1963. t.Fatal(err)
  1964. }
  1965. resp, err := c.CreateIntent(context.Background(), request)
  1966. if err != nil {
  1967. t.Fatal(err)
  1968. }
  1969. if want, got := request, mockIntents.reqs[0]; !proto.Equal(want, got) {
  1970. t.Errorf("wrong request %q, want %q", got, want)
  1971. }
  1972. if want, got := expectedResponse, resp; !proto.Equal(want, got) {
  1973. t.Errorf("wrong response %q, want %q)", got, want)
  1974. }
  1975. }
  1976. func TestIntentsCreateIntentError(t *testing.T) {
  1977. errCode := codes.PermissionDenied
  1978. mockIntents.err = gstatus.Error(errCode, "test error")
  1979. var formattedParent string = fmt.Sprintf("projects/%s/agent", "[PROJECT]")
  1980. var intent *dialogflowpb.Intent = &dialogflowpb.Intent{}
  1981. var request = &dialogflowpb.CreateIntentRequest{
  1982. Parent: formattedParent,
  1983. Intent: intent,
  1984. }
  1985. c, err := NewIntentsClient(context.Background(), clientOpt)
  1986. if err != nil {
  1987. t.Fatal(err)
  1988. }
  1989. resp, err := c.CreateIntent(context.Background(), request)
  1990. if st, ok := gstatus.FromError(err); !ok {
  1991. t.Errorf("got error %v, expected grpc error", err)
  1992. } else if c := st.Code(); c != errCode {
  1993. t.Errorf("got error code %q, want %q", c, errCode)
  1994. }
  1995. _ = resp
  1996. }
  1997. func TestIntentsUpdateIntent(t *testing.T) {
  1998. var name string = "name3373707"
  1999. var displayName string = "displayName1615086568"
  2000. var priority int32 = 1165461084
  2001. var isFallback bool = false
  2002. var mlDisabled bool = true
  2003. var action string = "action-1422950858"
  2004. var resetContexts bool = true
  2005. var rootFollowupIntentName string = "rootFollowupIntentName402253784"
  2006. var parentFollowupIntentName string = "parentFollowupIntentName-1131901680"
  2007. var expectedResponse = &dialogflowpb.Intent{
  2008. Name: name,
  2009. DisplayName: displayName,
  2010. Priority: priority,
  2011. IsFallback: isFallback,
  2012. MlDisabled: mlDisabled,
  2013. Action: action,
  2014. ResetContexts: resetContexts,
  2015. RootFollowupIntentName: rootFollowupIntentName,
  2016. ParentFollowupIntentName: parentFollowupIntentName,
  2017. }
  2018. mockIntents.err = nil
  2019. mockIntents.reqs = nil
  2020. mockIntents.resps = append(mockIntents.resps[:0], expectedResponse)
  2021. var intent *dialogflowpb.Intent = &dialogflowpb.Intent{}
  2022. var languageCode string = "languageCode-412800396"
  2023. var request = &dialogflowpb.UpdateIntentRequest{
  2024. Intent: intent,
  2025. LanguageCode: languageCode,
  2026. }
  2027. c, err := NewIntentsClient(context.Background(), clientOpt)
  2028. if err != nil {
  2029. t.Fatal(err)
  2030. }
  2031. resp, err := c.UpdateIntent(context.Background(), request)
  2032. if err != nil {
  2033. t.Fatal(err)
  2034. }
  2035. if want, got := request, mockIntents.reqs[0]; !proto.Equal(want, got) {
  2036. t.Errorf("wrong request %q, want %q", got, want)
  2037. }
  2038. if want, got := expectedResponse, resp; !proto.Equal(want, got) {
  2039. t.Errorf("wrong response %q, want %q)", got, want)
  2040. }
  2041. }
  2042. func TestIntentsUpdateIntentError(t *testing.T) {
  2043. errCode := codes.PermissionDenied
  2044. mockIntents.err = gstatus.Error(errCode, "test error")
  2045. var intent *dialogflowpb.Intent = &dialogflowpb.Intent{}
  2046. var languageCode string = "languageCode-412800396"
  2047. var request = &dialogflowpb.UpdateIntentRequest{
  2048. Intent: intent,
  2049. LanguageCode: languageCode,
  2050. }
  2051. c, err := NewIntentsClient(context.Background(), clientOpt)
  2052. if err != nil {
  2053. t.Fatal(err)
  2054. }
  2055. resp, err := c.UpdateIntent(context.Background(), request)
  2056. if st, ok := gstatus.FromError(err); !ok {
  2057. t.Errorf("got error %v, expected grpc error", err)
  2058. } else if c := st.Code(); c != errCode {
  2059. t.Errorf("got error code %q, want %q", c, errCode)
  2060. }
  2061. _ = resp
  2062. }
  2063. func TestIntentsDeleteIntent(t *testing.T) {
  2064. var expectedResponse *emptypb.Empty = &emptypb.Empty{}
  2065. mockIntents.err = nil
  2066. mockIntents.reqs = nil
  2067. mockIntents.resps = append(mockIntents.resps[:0], expectedResponse)
  2068. var formattedName string = fmt.Sprintf("projects/%s/agent/intents/%s", "[PROJECT]", "[INTENT]")
  2069. var request = &dialogflowpb.DeleteIntentRequest{
  2070. Name: formattedName,
  2071. }
  2072. c, err := NewIntentsClient(context.Background(), clientOpt)
  2073. if err != nil {
  2074. t.Fatal(err)
  2075. }
  2076. err = c.DeleteIntent(context.Background(), request)
  2077. if err != nil {
  2078. t.Fatal(err)
  2079. }
  2080. if want, got := request, mockIntents.reqs[0]; !proto.Equal(want, got) {
  2081. t.Errorf("wrong request %q, want %q", got, want)
  2082. }
  2083. }
  2084. func TestIntentsDeleteIntentError(t *testing.T) {
  2085. errCode := codes.PermissionDenied
  2086. mockIntents.err = gstatus.Error(errCode, "test error")
  2087. var formattedName string = fmt.Sprintf("projects/%s/agent/intents/%s", "[PROJECT]", "[INTENT]")
  2088. var request = &dialogflowpb.DeleteIntentRequest{
  2089. Name: formattedName,
  2090. }
  2091. c, err := NewIntentsClient(context.Background(), clientOpt)
  2092. if err != nil {
  2093. t.Fatal(err)
  2094. }
  2095. err = c.DeleteIntent(context.Background(), request)
  2096. if st, ok := gstatus.FromError(err); !ok {
  2097. t.Errorf("got error %v, expected grpc error", err)
  2098. } else if c := st.Code(); c != errCode {
  2099. t.Errorf("got error code %q, want %q", c, errCode)
  2100. }
  2101. }
  2102. func TestIntentsBatchUpdateIntents(t *testing.T) {
  2103. var expectedResponse *dialogflowpb.BatchUpdateIntentsResponse = &dialogflowpb.BatchUpdateIntentsResponse{}
  2104. mockIntents.err = nil
  2105. mockIntents.reqs = nil
  2106. any, err := ptypes.MarshalAny(expectedResponse)
  2107. if err != nil {
  2108. t.Fatal(err)
  2109. }
  2110. mockIntents.resps = append(mockIntents.resps[:0], &longrunningpb.Operation{
  2111. Name: "longrunning-test",
  2112. Done: true,
  2113. Result: &longrunningpb.Operation_Response{Response: any},
  2114. })
  2115. var formattedParent string = fmt.Sprintf("projects/%s/agent", "[PROJECT]")
  2116. var languageCode string = "languageCode-412800396"
  2117. var request = &dialogflowpb.BatchUpdateIntentsRequest{
  2118. Parent: formattedParent,
  2119. LanguageCode: languageCode,
  2120. }
  2121. c, err := NewIntentsClient(context.Background(), clientOpt)
  2122. if err != nil {
  2123. t.Fatal(err)
  2124. }
  2125. respLRO, err := c.BatchUpdateIntents(context.Background(), request)
  2126. if err != nil {
  2127. t.Fatal(err)
  2128. }
  2129. resp, err := respLRO.Wait(context.Background())
  2130. if err != nil {
  2131. t.Fatal(err)
  2132. }
  2133. if want, got := request, mockIntents.reqs[0]; !proto.Equal(want, got) {
  2134. t.Errorf("wrong request %q, want %q", got, want)
  2135. }
  2136. if want, got := expectedResponse, resp; !proto.Equal(want, got) {
  2137. t.Errorf("wrong response %q, want %q)", got, want)
  2138. }
  2139. }
  2140. func TestIntentsBatchUpdateIntentsError(t *testing.T) {
  2141. errCode := codes.PermissionDenied
  2142. mockIntents.err = nil
  2143. mockIntents.resps = append(mockIntents.resps[:0], &longrunningpb.Operation{
  2144. Name: "longrunning-test",
  2145. Done: true,
  2146. Result: &longrunningpb.Operation_Error{
  2147. Error: &status.Status{
  2148. Code: int32(errCode),
  2149. Message: "test error",
  2150. },
  2151. },
  2152. })
  2153. var formattedParent string = fmt.Sprintf("projects/%s/agent", "[PROJECT]")
  2154. var languageCode string = "languageCode-412800396"
  2155. var request = &dialogflowpb.BatchUpdateIntentsRequest{
  2156. Parent: formattedParent,
  2157. LanguageCode: languageCode,
  2158. }
  2159. c, err := NewIntentsClient(context.Background(), clientOpt)
  2160. if err != nil {
  2161. t.Fatal(err)
  2162. }
  2163. respLRO, err := c.BatchUpdateIntents(context.Background(), request)
  2164. if err != nil {
  2165. t.Fatal(err)
  2166. }
  2167. resp, err := respLRO.Wait(context.Background())
  2168. if st, ok := gstatus.FromError(err); !ok {
  2169. t.Errorf("got error %v, expected grpc error", err)
  2170. } else if c := st.Code(); c != errCode {
  2171. t.Errorf("got error code %q, want %q", c, errCode)
  2172. }
  2173. _ = resp
  2174. }
  2175. func TestIntentsBatchDeleteIntents(t *testing.T) {
  2176. var expectedResponse *emptypb.Empty = &emptypb.Empty{}
  2177. mockIntents.err = nil
  2178. mockIntents.reqs = nil
  2179. any, err := ptypes.MarshalAny(expectedResponse)
  2180. if err != nil {
  2181. t.Fatal(err)
  2182. }
  2183. mockIntents.resps = append(mockIntents.resps[:0], &longrunningpb.Operation{
  2184. Name: "longrunning-test",
  2185. Done: true,
  2186. Result: &longrunningpb.Operation_Response{Response: any},
  2187. })
  2188. var formattedParent string = fmt.Sprintf("projects/%s/agent", "[PROJECT]")
  2189. var intents []*dialogflowpb.Intent = nil
  2190. var request = &dialogflowpb.BatchDeleteIntentsRequest{
  2191. Parent: formattedParent,
  2192. Intents: intents,
  2193. }
  2194. c, err := NewIntentsClient(context.Background(), clientOpt)
  2195. if err != nil {
  2196. t.Fatal(err)
  2197. }
  2198. respLRO, err := c.BatchDeleteIntents(context.Background(), request)
  2199. if err != nil {
  2200. t.Fatal(err)
  2201. }
  2202. err = respLRO.Wait(context.Background())
  2203. if err != nil {
  2204. t.Fatal(err)
  2205. }
  2206. if want, got := request, mockIntents.reqs[0]; !proto.Equal(want, got) {
  2207. t.Errorf("wrong request %q, want %q", got, want)
  2208. }
  2209. }
  2210. func TestIntentsBatchDeleteIntentsError(t *testing.T) {
  2211. errCode := codes.PermissionDenied
  2212. mockIntents.err = nil
  2213. mockIntents.resps = append(mockIntents.resps[:0], &longrunningpb.Operation{
  2214. Name: "longrunning-test",
  2215. Done: true,
  2216. Result: &longrunningpb.Operation_Error{
  2217. Error: &status.Status{
  2218. Code: int32(errCode),
  2219. Message: "test error",
  2220. },
  2221. },
  2222. })
  2223. var formattedParent string = fmt.Sprintf("projects/%s/agent", "[PROJECT]")
  2224. var intents []*dialogflowpb.Intent = nil
  2225. var request = &dialogflowpb.BatchDeleteIntentsRequest{
  2226. Parent: formattedParent,
  2227. Intents: intents,
  2228. }
  2229. c, err := NewIntentsClient(context.Background(), clientOpt)
  2230. if err != nil {
  2231. t.Fatal(err)
  2232. }
  2233. respLRO, err := c.BatchDeleteIntents(context.Background(), request)
  2234. if err != nil {
  2235. t.Fatal(err)
  2236. }
  2237. err = respLRO.Wait(context.Background())
  2238. if st, ok := gstatus.FromError(err); !ok {
  2239. t.Errorf("got error %v, expected grpc error", err)
  2240. } else if c := st.Code(); c != errCode {
  2241. t.Errorf("got error code %q, want %q", c, errCode)
  2242. }
  2243. }
  2244. func TestSessionEntityTypesListSessionEntityTypes(t *testing.T) {
  2245. var nextPageToken string = ""
  2246. var sessionEntityTypesElement *dialogflowpb.SessionEntityType = &dialogflowpb.SessionEntityType{}
  2247. var sessionEntityTypes = []*dialogflowpb.SessionEntityType{sessionEntityTypesElement}
  2248. var expectedResponse = &dialogflowpb.ListSessionEntityTypesResponse{
  2249. NextPageToken: nextPageToken,
  2250. SessionEntityTypes: sessionEntityTypes,
  2251. }
  2252. mockSessionEntityTypes.err = nil
  2253. mockSessionEntityTypes.reqs = nil
  2254. mockSessionEntityTypes.resps = append(mockSessionEntityTypes.resps[:0], expectedResponse)
  2255. var formattedParent string = fmt.Sprintf("projects/%s/agent/sessions/%s", "[PROJECT]", "[SESSION]")
  2256. var request = &dialogflowpb.ListSessionEntityTypesRequest{
  2257. Parent: formattedParent,
  2258. }
  2259. c, err := NewSessionEntityTypesClient(context.Background(), clientOpt)
  2260. if err != nil {
  2261. t.Fatal(err)
  2262. }
  2263. resp, err := c.ListSessionEntityTypes(context.Background(), request).Next()
  2264. if err != nil {
  2265. t.Fatal(err)
  2266. }
  2267. if want, got := request, mockSessionEntityTypes.reqs[0]; !proto.Equal(want, got) {
  2268. t.Errorf("wrong request %q, want %q", got, want)
  2269. }
  2270. want := (interface{})(expectedResponse.SessionEntityTypes[0])
  2271. got := (interface{})(resp)
  2272. var ok bool
  2273. switch want := (want).(type) {
  2274. case proto.Message:
  2275. ok = proto.Equal(want, got.(proto.Message))
  2276. default:
  2277. ok = want == got
  2278. }
  2279. if !ok {
  2280. t.Errorf("wrong response %q, want %q)", got, want)
  2281. }
  2282. }
  2283. func TestSessionEntityTypesListSessionEntityTypesError(t *testing.T) {
  2284. errCode := codes.PermissionDenied
  2285. mockSessionEntityTypes.err = gstatus.Error(errCode, "test error")
  2286. var formattedParent string = fmt.Sprintf("projects/%s/agent/sessions/%s", "[PROJECT]", "[SESSION]")
  2287. var request = &dialogflowpb.ListSessionEntityTypesRequest{
  2288. Parent: formattedParent,
  2289. }
  2290. c, err := NewSessionEntityTypesClient(context.Background(), clientOpt)
  2291. if err != nil {
  2292. t.Fatal(err)
  2293. }
  2294. resp, err := c.ListSessionEntityTypes(context.Background(), request).Next()
  2295. if st, ok := gstatus.FromError(err); !ok {
  2296. t.Errorf("got error %v, expected grpc error", err)
  2297. } else if c := st.Code(); c != errCode {
  2298. t.Errorf("got error code %q, want %q", c, errCode)
  2299. }
  2300. _ = resp
  2301. }
  2302. func TestSessionEntityTypesGetSessionEntityType(t *testing.T) {
  2303. var name2 string = "name2-1052831874"
  2304. var expectedResponse = &dialogflowpb.SessionEntityType{
  2305. Name: name2,
  2306. }
  2307. mockSessionEntityTypes.err = nil
  2308. mockSessionEntityTypes.reqs = nil
  2309. mockSessionEntityTypes.resps = append(mockSessionEntityTypes.resps[:0], expectedResponse)
  2310. var formattedName string = fmt.Sprintf("projects/%s/agent/sessions/%s/entityTypes/%s", "[PROJECT]", "[SESSION]", "[ENTITY_TYPE]")
  2311. var request = &dialogflowpb.GetSessionEntityTypeRequest{
  2312. Name: formattedName,
  2313. }
  2314. c, err := NewSessionEntityTypesClient(context.Background(), clientOpt)
  2315. if err != nil {
  2316. t.Fatal(err)
  2317. }
  2318. resp, err := c.GetSessionEntityType(context.Background(), request)
  2319. if err != nil {
  2320. t.Fatal(err)
  2321. }
  2322. if want, got := request, mockSessionEntityTypes.reqs[0]; !proto.Equal(want, got) {
  2323. t.Errorf("wrong request %q, want %q", got, want)
  2324. }
  2325. if want, got := expectedResponse, resp; !proto.Equal(want, got) {
  2326. t.Errorf("wrong response %q, want %q)", got, want)
  2327. }
  2328. }
  2329. func TestSessionEntityTypesGetSessionEntityTypeError(t *testing.T) {
  2330. errCode := codes.PermissionDenied
  2331. mockSessionEntityTypes.err = gstatus.Error(errCode, "test error")
  2332. var formattedName string = fmt.Sprintf("projects/%s/agent/sessions/%s/entityTypes/%s", "[PROJECT]", "[SESSION]", "[ENTITY_TYPE]")
  2333. var request = &dialogflowpb.GetSessionEntityTypeRequest{
  2334. Name: formattedName,
  2335. }
  2336. c, err := NewSessionEntityTypesClient(context.Background(), clientOpt)
  2337. if err != nil {
  2338. t.Fatal(err)
  2339. }
  2340. resp, err := c.GetSessionEntityType(context.Background(), request)
  2341. if st, ok := gstatus.FromError(err); !ok {
  2342. t.Errorf("got error %v, expected grpc error", err)
  2343. } else if c := st.Code(); c != errCode {
  2344. t.Errorf("got error code %q, want %q", c, errCode)
  2345. }
  2346. _ = resp
  2347. }
  2348. func TestSessionEntityTypesCreateSessionEntityType(t *testing.T) {
  2349. var name string = "name3373707"
  2350. var expectedResponse = &dialogflowpb.SessionEntityType{
  2351. Name: name,
  2352. }
  2353. mockSessionEntityTypes.err = nil
  2354. mockSessionEntityTypes.reqs = nil
  2355. mockSessionEntityTypes.resps = append(mockSessionEntityTypes.resps[:0], expectedResponse)
  2356. var formattedParent string = fmt.Sprintf("projects/%s/agent/sessions/%s", "[PROJECT]", "[SESSION]")
  2357. var sessionEntityType *dialogflowpb.SessionEntityType = &dialogflowpb.SessionEntityType{}
  2358. var request = &dialogflowpb.CreateSessionEntityTypeRequest{
  2359. Parent: formattedParent,
  2360. SessionEntityType: sessionEntityType,
  2361. }
  2362. c, err := NewSessionEntityTypesClient(context.Background(), clientOpt)
  2363. if err != nil {
  2364. t.Fatal(err)
  2365. }
  2366. resp, err := c.CreateSessionEntityType(context.Background(), request)
  2367. if err != nil {
  2368. t.Fatal(err)
  2369. }
  2370. if want, got := request, mockSessionEntityTypes.reqs[0]; !proto.Equal(want, got) {
  2371. t.Errorf("wrong request %q, want %q", got, want)
  2372. }
  2373. if want, got := expectedResponse, resp; !proto.Equal(want, got) {
  2374. t.Errorf("wrong response %q, want %q)", got, want)
  2375. }
  2376. }
  2377. func TestSessionEntityTypesCreateSessionEntityTypeError(t *testing.T) {
  2378. errCode := codes.PermissionDenied
  2379. mockSessionEntityTypes.err = gstatus.Error(errCode, "test error")
  2380. var formattedParent string = fmt.Sprintf("projects/%s/agent/sessions/%s", "[PROJECT]", "[SESSION]")
  2381. var sessionEntityType *dialogflowpb.SessionEntityType = &dialogflowpb.SessionEntityType{}
  2382. var request = &dialogflowpb.CreateSessionEntityTypeRequest{
  2383. Parent: formattedParent,
  2384. SessionEntityType: sessionEntityType,
  2385. }
  2386. c, err := NewSessionEntityTypesClient(context.Background(), clientOpt)
  2387. if err != nil {
  2388. t.Fatal(err)
  2389. }
  2390. resp, err := c.CreateSessionEntityType(context.Background(), request)
  2391. if st, ok := gstatus.FromError(err); !ok {
  2392. t.Errorf("got error %v, expected grpc error", err)
  2393. } else if c := st.Code(); c != errCode {
  2394. t.Errorf("got error code %q, want %q", c, errCode)
  2395. }
  2396. _ = resp
  2397. }
  2398. func TestSessionEntityTypesUpdateSessionEntityType(t *testing.T) {
  2399. var name string = "name3373707"
  2400. var expectedResponse = &dialogflowpb.SessionEntityType{
  2401. Name: name,
  2402. }
  2403. mockSessionEntityTypes.err = nil
  2404. mockSessionEntityTypes.reqs = nil
  2405. mockSessionEntityTypes.resps = append(mockSessionEntityTypes.resps[:0], expectedResponse)
  2406. var sessionEntityType *dialogflowpb.SessionEntityType = &dialogflowpb.SessionEntityType{}
  2407. var request = &dialogflowpb.UpdateSessionEntityTypeRequest{
  2408. SessionEntityType: sessionEntityType,
  2409. }
  2410. c, err := NewSessionEntityTypesClient(context.Background(), clientOpt)
  2411. if err != nil {
  2412. t.Fatal(err)
  2413. }
  2414. resp, err := c.UpdateSessionEntityType(context.Background(), request)
  2415. if err != nil {
  2416. t.Fatal(err)
  2417. }
  2418. if want, got := request, mockSessionEntityTypes.reqs[0]; !proto.Equal(want, got) {
  2419. t.Errorf("wrong request %q, want %q", got, want)
  2420. }
  2421. if want, got := expectedResponse, resp; !proto.Equal(want, got) {
  2422. t.Errorf("wrong response %q, want %q)", got, want)
  2423. }
  2424. }
  2425. func TestSessionEntityTypesUpdateSessionEntityTypeError(t *testing.T) {
  2426. errCode := codes.PermissionDenied
  2427. mockSessionEntityTypes.err = gstatus.Error(errCode, "test error")
  2428. var sessionEntityType *dialogflowpb.SessionEntityType = &dialogflowpb.SessionEntityType{}
  2429. var request = &dialogflowpb.UpdateSessionEntityTypeRequest{
  2430. SessionEntityType: sessionEntityType,
  2431. }
  2432. c, err := NewSessionEntityTypesClient(context.Background(), clientOpt)
  2433. if err != nil {
  2434. t.Fatal(err)
  2435. }
  2436. resp, err := c.UpdateSessionEntityType(context.Background(), request)
  2437. if st, ok := gstatus.FromError(err); !ok {
  2438. t.Errorf("got error %v, expected grpc error", err)
  2439. } else if c := st.Code(); c != errCode {
  2440. t.Errorf("got error code %q, want %q", c, errCode)
  2441. }
  2442. _ = resp
  2443. }
  2444. func TestSessionEntityTypesDeleteSessionEntityType(t *testing.T) {
  2445. var expectedResponse *emptypb.Empty = &emptypb.Empty{}
  2446. mockSessionEntityTypes.err = nil
  2447. mockSessionEntityTypes.reqs = nil
  2448. mockSessionEntityTypes.resps = append(mockSessionEntityTypes.resps[:0], expectedResponse)
  2449. var formattedName string = fmt.Sprintf("projects/%s/agent/sessions/%s/entityTypes/%s", "[PROJECT]", "[SESSION]", "[ENTITY_TYPE]")
  2450. var request = &dialogflowpb.DeleteSessionEntityTypeRequest{
  2451. Name: formattedName,
  2452. }
  2453. c, err := NewSessionEntityTypesClient(context.Background(), clientOpt)
  2454. if err != nil {
  2455. t.Fatal(err)
  2456. }
  2457. err = c.DeleteSessionEntityType(context.Background(), request)
  2458. if err != nil {
  2459. t.Fatal(err)
  2460. }
  2461. if want, got := request, mockSessionEntityTypes.reqs[0]; !proto.Equal(want, got) {
  2462. t.Errorf("wrong request %q, want %q", got, want)
  2463. }
  2464. }
  2465. func TestSessionEntityTypesDeleteSessionEntityTypeError(t *testing.T) {
  2466. errCode := codes.PermissionDenied
  2467. mockSessionEntityTypes.err = gstatus.Error(errCode, "test error")
  2468. var formattedName string = fmt.Sprintf("projects/%s/agent/sessions/%s/entityTypes/%s", "[PROJECT]", "[SESSION]", "[ENTITY_TYPE]")
  2469. var request = &dialogflowpb.DeleteSessionEntityTypeRequest{
  2470. Name: formattedName,
  2471. }
  2472. c, err := NewSessionEntityTypesClient(context.Background(), clientOpt)
  2473. if err != nil {
  2474. t.Fatal(err)
  2475. }
  2476. err = c.DeleteSessionEntityType(context.Background(), request)
  2477. if st, ok := gstatus.FromError(err); !ok {
  2478. t.Errorf("got error %v, expected grpc error", err)
  2479. } else if c := st.Code(); c != errCode {
  2480. t.Errorf("got error code %q, want %q", c, errCode)
  2481. }
  2482. }
  2483. func TestSessionsDetectIntent(t *testing.T) {
  2484. var responseId string = "responseId1847552473"
  2485. var expectedResponse = &dialogflowpb.DetectIntentResponse{
  2486. ResponseId: responseId,
  2487. }
  2488. mockSessions.err = nil
  2489. mockSessions.reqs = nil
  2490. mockSessions.resps = append(mockSessions.resps[:0], expectedResponse)
  2491. var formattedSession string = fmt.Sprintf("projects/%s/agent/sessions/%s", "[PROJECT]", "[SESSION]")
  2492. var queryInput *dialogflowpb.QueryInput = &dialogflowpb.QueryInput{}
  2493. var request = &dialogflowpb.DetectIntentRequest{
  2494. Session: formattedSession,
  2495. QueryInput: queryInput,
  2496. }
  2497. c, err := NewSessionsClient(context.Background(), clientOpt)
  2498. if err != nil {
  2499. t.Fatal(err)
  2500. }
  2501. resp, err := c.DetectIntent(context.Background(), request)
  2502. if err != nil {
  2503. t.Fatal(err)
  2504. }
  2505. if want, got := request, mockSessions.reqs[0]; !proto.Equal(want, got) {
  2506. t.Errorf("wrong request %q, want %q", got, want)
  2507. }
  2508. if want, got := expectedResponse, resp; !proto.Equal(want, got) {
  2509. t.Errorf("wrong response %q, want %q)", got, want)
  2510. }
  2511. }
  2512. func TestSessionsDetectIntentError(t *testing.T) {
  2513. errCode := codes.PermissionDenied
  2514. mockSessions.err = gstatus.Error(errCode, "test error")
  2515. var formattedSession string = fmt.Sprintf("projects/%s/agent/sessions/%s", "[PROJECT]", "[SESSION]")
  2516. var queryInput *dialogflowpb.QueryInput = &dialogflowpb.QueryInput{}
  2517. var request = &dialogflowpb.DetectIntentRequest{
  2518. Session: formattedSession,
  2519. QueryInput: queryInput,
  2520. }
  2521. c, err := NewSessionsClient(context.Background(), clientOpt)
  2522. if err != nil {
  2523. t.Fatal(err)
  2524. }
  2525. resp, err := c.DetectIntent(context.Background(), request)
  2526. if st, ok := gstatus.FromError(err); !ok {
  2527. t.Errorf("got error %v, expected grpc error", err)
  2528. } else if c := st.Code(); c != errCode {
  2529. t.Errorf("got error code %q, want %q", c, errCode)
  2530. }
  2531. _ = resp
  2532. }
  2533. func TestSessionsStreamingDetectIntent(t *testing.T) {
  2534. var responseId string = "responseId1847552473"
  2535. var expectedResponse = &dialogflowpb.StreamingDetectIntentResponse{
  2536. ResponseId: responseId,
  2537. }
  2538. mockSessions.err = nil
  2539. mockSessions.reqs = nil
  2540. mockSessions.resps = append(mockSessions.resps[:0], expectedResponse)
  2541. var session string = "session1984987798"
  2542. var queryInput *dialogflowpb.QueryInput = &dialogflowpb.QueryInput{}
  2543. var request = &dialogflowpb.StreamingDetectIntentRequest{
  2544. Session: session,
  2545. QueryInput: queryInput,
  2546. }
  2547. c, err := NewSessionsClient(context.Background(), clientOpt)
  2548. if err != nil {
  2549. t.Fatal(err)
  2550. }
  2551. stream, err := c.StreamingDetectIntent(context.Background())
  2552. if err != nil {
  2553. t.Fatal(err)
  2554. }
  2555. if err := stream.Send(request); err != nil {
  2556. t.Fatal(err)
  2557. }
  2558. if err := stream.CloseSend(); err != nil {
  2559. t.Fatal(err)
  2560. }
  2561. resp, err := stream.Recv()
  2562. if err != nil {
  2563. t.Fatal(err)
  2564. }
  2565. if want, got := request, mockSessions.reqs[0]; !proto.Equal(want, got) {
  2566. t.Errorf("wrong request %q, want %q", got, want)
  2567. }
  2568. if want, got := expectedResponse, resp; !proto.Equal(want, got) {
  2569. t.Errorf("wrong response %q, want %q)", got, want)
  2570. }
  2571. }
  2572. func TestSessionsStreamingDetectIntentError(t *testing.T) {
  2573. errCode := codes.PermissionDenied
  2574. mockSessions.err = gstatus.Error(errCode, "test error")
  2575. var session string = "session1984987798"
  2576. var queryInput *dialogflowpb.QueryInput = &dialogflowpb.QueryInput{}
  2577. var request = &dialogflowpb.StreamingDetectIntentRequest{
  2578. Session: session,
  2579. QueryInput: queryInput,
  2580. }
  2581. c, err := NewSessionsClient(context.Background(), clientOpt)
  2582. if err != nil {
  2583. t.Fatal(err)
  2584. }
  2585. stream, err := c.StreamingDetectIntent(context.Background())
  2586. if err != nil {
  2587. t.Fatal(err)
  2588. }
  2589. if err := stream.Send(request); err != nil {
  2590. t.Fatal(err)
  2591. }
  2592. if err := stream.CloseSend(); err != nil {
  2593. t.Fatal(err)
  2594. }
  2595. resp, err := stream.Recv()
  2596. if st, ok := gstatus.FromError(err); !ok {
  2597. t.Errorf("got error %v, expected grpc error", err)
  2598. } else if c := st.Code(); c != errCode {
  2599. t.Errorf("got error code %q, want %q", c, errCode)
  2600. }
  2601. _ = resp
  2602. }