test-cli: remove
Signed-off-by: Ahmet Alp Balkan <ahmetb@google.com>
This commit is contained in:
parent
4572974c88
commit
c7dd0cbf31
3 changed files with 0 additions and 2743 deletions
|
@ -1,22 +0,0 @@
|
||||||
#!/bin/bash -eu
|
|
||||||
#
|
|
||||||
# Copyright 2018 Google LLC
|
|
||||||
#
|
|
||||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
# you may not use this file except in compliance with the License.
|
|
||||||
# You may obtain a copy of the License at
|
|
||||||
#
|
|
||||||
# http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
#
|
|
||||||
# Unless required by applicable law or agreed to in writing, software
|
|
||||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
# See the License for the specific language governing permissions and
|
|
||||||
# limitations under the License.
|
|
||||||
|
|
||||||
#!/bin/bash -e
|
|
||||||
|
|
||||||
PATH=$PATH:$GOPATH/bin
|
|
||||||
protodir=../../pb
|
|
||||||
|
|
||||||
protoc --go_out=plugins=grpc:genproto -I $protodir $protodir/demo.proto
|
|
File diff suppressed because it is too large
Load diff
|
@ -1,362 +0,0 @@
|
||||||
// Copyright 2018 Google LLC
|
|
||||||
//
|
|
||||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
// you may not use this file except in compliance with the License.
|
|
||||||
// You may obtain a copy of the License at
|
|
||||||
//
|
|
||||||
// http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
//
|
|
||||||
// Unless required by applicable law or agreed to in writing, software
|
|
||||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
// See the License for the specific language governing permissions and
|
|
||||||
// limitations under the License.
|
|
||||||
|
|
||||||
package main
|
|
||||||
|
|
||||||
import (
|
|
||||||
"context"
|
|
||||||
"log"
|
|
||||||
"os"
|
|
||||||
|
|
||||||
pb "./genproto"
|
|
||||||
"go.opencensus.io/plugin/ocgrpc"
|
|
||||||
|
|
||||||
"google.golang.org/grpc"
|
|
||||||
)
|
|
||||||
|
|
||||||
type test struct {
|
|
||||||
envs []string
|
|
||||||
f func() error
|
|
||||||
}
|
|
||||||
|
|
||||||
var (
|
|
||||||
svcs = map[string]test{
|
|
||||||
"productcatalogservice": {
|
|
||||||
envs: []string{"PRODUCT_CATALOG_SERVICE_ADDR"},
|
|
||||||
f: testProductCatalogService,
|
|
||||||
},
|
|
||||||
"shippingservice": {
|
|
||||||
envs: []string{"SHIPPING_SERVICE_ADDR"},
|
|
||||||
f: testShippingService,
|
|
||||||
},
|
|
||||||
"recommendationservice": {
|
|
||||||
envs: []string{"RECOMMENDATION_SERVICE_ADDR"},
|
|
||||||
f: testRecommendationService,
|
|
||||||
},
|
|
||||||
"paymentservice": {
|
|
||||||
envs: []string{"PAYMENT_SERVICE_ADDR"},
|
|
||||||
f: testPaymentService,
|
|
||||||
},
|
|
||||||
"emailservice": {
|
|
||||||
envs: []string{"EMAIL_SERVICE_ADDR"},
|
|
||||||
f: testEmailService,
|
|
||||||
},
|
|
||||||
"currencyservice": {
|
|
||||||
envs: []string{"CURRENCY_SERVICE_ADDR"},
|
|
||||||
f: testCurrencyService,
|
|
||||||
},
|
|
||||||
"cartservice": {
|
|
||||||
envs: []string{"CART_SERVICE_ADDR"},
|
|
||||||
f: testCartService,
|
|
||||||
},
|
|
||||||
}
|
|
||||||
)
|
|
||||||
|
|
||||||
func main() {
|
|
||||||
if len(os.Args) != 2 {
|
|
||||||
panic("incorrect usage")
|
|
||||||
}
|
|
||||||
t, ok := svcs[os.Args[1]]
|
|
||||||
if !ok {
|
|
||||||
log.Fatalf("test probe for %q not found", os.Args[1])
|
|
||||||
}
|
|
||||||
for _, e := range t.envs {
|
|
||||||
if os.Getenv(e) == "" {
|
|
||||||
log.Fatalf("environment variable %q not set", e)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
log.Printf("smoke test %q", os.Args[1])
|
|
||||||
if err := t.f(); err != nil {
|
|
||||||
panic(err)
|
|
||||||
}
|
|
||||||
log.Println("PASS")
|
|
||||||
}
|
|
||||||
|
|
||||||
func testProductCatalogService() error {
|
|
||||||
addr := os.Getenv("PRODUCT_CATALOG_SERVICE_ADDR")
|
|
||||||
conn, err := grpc.Dial(addr,
|
|
||||||
grpc.WithInsecure(), grpc.WithStatsHandler(&ocgrpc.ClientHandler{}))
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
defer conn.Close()
|
|
||||||
|
|
||||||
log.Printf("--- rpc ListProducts() ")
|
|
||||||
cl := pb.NewProductCatalogServiceClient(conn)
|
|
||||||
listResp, err := cl.ListProducts(context.TODO(), &pb.Empty{})
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
log.Printf("--> %d products returned", len(listResp.GetProducts()))
|
|
||||||
for _, v := range listResp.GetProducts() {
|
|
||||||
log.Printf("--> %+v", v)
|
|
||||||
}
|
|
||||||
|
|
||||||
log.Println("--- rpc GetProduct()")
|
|
||||||
getResp, err := cl.GetProduct(context.TODO(), &pb.GetProductRequest{Id: "1"})
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
log.Printf("retrieved product: %+v", getResp)
|
|
||||||
log.Printf("--- rpc SearchProducts()")
|
|
||||||
searchResp, err := cl.SearchProducts(context.TODO(), &pb.SearchProductsRequest{Query: "shirt"})
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
log.Printf("--> %d results found", len(searchResp.GetResults()))
|
|
||||||
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func testShippingService() error {
|
|
||||||
addr := os.Getenv("SHIPPING_SERVICE_ADDR")
|
|
||||||
conn, err := grpc.Dial(addr,
|
|
||||||
grpc.WithInsecure(), grpc.WithStatsHandler(&ocgrpc.ClientHandler{}))
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
defer conn.Close()
|
|
||||||
|
|
||||||
address := &pb.Address{
|
|
||||||
StreetAddress: "Muffin Man",
|
|
||||||
State: "",
|
|
||||||
City: "London",
|
|
||||||
Country: "United Kingdom",
|
|
||||||
}
|
|
||||||
items := []*pb.CartItem{
|
|
||||||
{
|
|
||||||
ProductId: "23",
|
|
||||||
Quantity: 10,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
ProductId: "46",
|
|
||||||
Quantity: 3,
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
log.Println("--- rpc GetQuote()")
|
|
||||||
cl := pb.NewShippingServiceClient(conn)
|
|
||||||
quoteResp, err := cl.GetQuote(context.TODO(), &pb.GetQuoteRequest{
|
|
||||||
Address: address,
|
|
||||||
Items: items})
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
log.Printf("--> quote: %+v", quoteResp)
|
|
||||||
|
|
||||||
log.Println("--- rpc ShipOrder()")
|
|
||||||
shipResp, err := cl.ShipOrder(context.TODO(), &pb.ShipOrderRequest{
|
|
||||||
Address: address,
|
|
||||||
Items: items})
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
log.Printf("--> quote: %+v", shipResp)
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func testRecommendationService() error {
|
|
||||||
addr := os.Getenv("RECOMMENDATION_SERVICE_ADDR")
|
|
||||||
conn, err := grpc.Dial(addr,
|
|
||||||
grpc.WithInsecure(),
|
|
||||||
grpc.WithStatsHandler(&ocgrpc.ClientHandler{}))
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
defer conn.Close()
|
|
||||||
cl := pb.NewRecommendationServiceClient(conn)
|
|
||||||
|
|
||||||
log.Println("--- rpc ShipOrder()")
|
|
||||||
resp, err := cl.ListRecommendations(context.TODO(), &pb.ListRecommendationsRequest{
|
|
||||||
UserId: "foo",
|
|
||||||
ProductIds: []string{"1", "2", "3", "4", "5"},
|
|
||||||
})
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
log.Printf("--> returned %d recommendations", len(resp.GetProductIds()))
|
|
||||||
log.Printf("--> ids: %v", resp.GetProductIds())
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func testPaymentService() error {
|
|
||||||
addr := os.Getenv("PAYMENT_SERVICE_ADDR")
|
|
||||||
conn, err := grpc.Dial(addr,
|
|
||||||
grpc.WithInsecure(), grpc.WithStatsHandler(&ocgrpc.ClientHandler{}))
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
defer conn.Close()
|
|
||||||
cl := pb.NewPaymentServiceClient(conn)
|
|
||||||
|
|
||||||
log.Println("--- rpc Charge()")
|
|
||||||
resp, err := cl.Charge(context.TODO(), &pb.ChargeRequest{
|
|
||||||
Amount: &pb.Money{
|
|
||||||
CurrencyCode: "USD",
|
|
||||||
Units: 10,
|
|
||||||
Nanos: 550000000},
|
|
||||||
CreditCard: &pb.CreditCardInfo{
|
|
||||||
CreditCardNumber: "4444-4530-1092-6639",
|
|
||||||
CreditCardCvv: 612,
|
|
||||||
CreditCardExpirationYear: 2022,
|
|
||||||
CreditCardExpirationMonth: 10},
|
|
||||||
})
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
log.Printf("--> resp: %+v", resp)
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func testEmailService() error {
|
|
||||||
addr := os.Getenv("EMAIL_SERVICE_ADDR")
|
|
||||||
conn, err := grpc.Dial(addr,
|
|
||||||
grpc.WithInsecure(), grpc.WithStatsHandler(&ocgrpc.ClientHandler{}))
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
defer conn.Close()
|
|
||||||
cl := pb.NewEmailServiceClient(conn)
|
|
||||||
log.Println("--- rpc SendOrderConfirmation()")
|
|
||||||
resp, err := cl.SendOrderConfirmation(context.TODO(), &pb.SendOrderConfirmationRequest{
|
|
||||||
Email: "noreply@example.com",
|
|
||||||
Order: &pb.OrderResult{
|
|
||||||
OrderId: "123456",
|
|
||||||
ShippingTrackingId: "000-123-456",
|
|
||||||
ShippingCost: &pb.Money{
|
|
||||||
CurrencyCode: "CAD",
|
|
||||||
Units: 10,
|
|
||||||
Nanos: 550000000},
|
|
||||||
ShippingAddress: &pb.Address{
|
|
||||||
StreetAddress: "Muffin Man",
|
|
||||||
State: "XX",
|
|
||||||
City: "London",
|
|
||||||
Country: "United Kingdom",
|
|
||||||
},
|
|
||||||
Items: []*pb.OrderItem{
|
|
||||||
&pb.OrderItem{
|
|
||||||
Item: &pb.CartItem{
|
|
||||||
ProductId: "1",
|
|
||||||
Quantity: 4},
|
|
||||||
Cost: &pb.Money{
|
|
||||||
CurrencyCode: "CAD",
|
|
||||||
Units: 120,
|
|
||||||
Nanos: 0},
|
|
||||||
},
|
|
||||||
&pb.OrderItem{
|
|
||||||
Item: &pb.CartItem{
|
|
||||||
ProductId: "2",
|
|
||||||
Quantity: 1},
|
|
||||||
Cost: &pb.Money{
|
|
||||||
CurrencyCode: "CAD",
|
|
||||||
Units: 12,
|
|
||||||
Nanos: 250000000},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
})
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
log.Printf("--> resp: %+v", resp)
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func testCurrencyService() error {
|
|
||||||
addr := os.Getenv("CURRENCY_SERVICE_ADDR")
|
|
||||||
conn, err := grpc.Dial(addr,
|
|
||||||
grpc.WithInsecure(), grpc.WithStatsHandler(&ocgrpc.ClientHandler{}))
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
defer conn.Close()
|
|
||||||
cl := pb.NewCurrencyServiceClient(conn)
|
|
||||||
log.Println("--- rpc GetSupportedCurrencies()")
|
|
||||||
listResp, err := cl.GetSupportedCurrencies(context.TODO(), &pb.Empty{})
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
log.Printf("--> returned %d currency codes", len(listResp.GetCurrencyCodes()))
|
|
||||||
log.Printf("--> %v", listResp.GetCurrencyCodes())
|
|
||||||
|
|
||||||
log.Println("--- rpc Convert()")
|
|
||||||
in := &pb.Money{
|
|
||||||
CurrencyCode: "CAD",
|
|
||||||
Units: 12,
|
|
||||||
Nanos: 250000000}
|
|
||||||
convertResp, err := cl.Convert(context.TODO(), &pb.CurrencyConversionRequest{
|
|
||||||
From: in,
|
|
||||||
ToCode: "USD"})
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
log.Printf("--> in=%v result(USD): %+v", in, convertResp)
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func testCartService() error {
|
|
||||||
addr := os.Getenv("CART_SERVICE_ADDR")
|
|
||||||
conn, err := grpc.Dial(addr,
|
|
||||||
grpc.WithInsecure(), grpc.WithStatsHandler(&ocgrpc.ClientHandler{}))
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
defer conn.Close()
|
|
||||||
cl := pb.NewCartServiceClient(conn)
|
|
||||||
|
|
||||||
userID := "smoke-test-user"
|
|
||||||
log.Println("--- rpc GetCart()")
|
|
||||||
cartResp, err := cl.GetCart(context.TODO(), &pb.GetCartRequest{
|
|
||||||
UserId: userID})
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
log.Printf("--> %d items in cart for user %q", len(cartResp.Items), cartResp.UserId)
|
|
||||||
|
|
||||||
log.Println("--- rpc AddItem()")
|
|
||||||
_, err = cl.AddItem(context.TODO(), &pb.AddItemRequest{
|
|
||||||
UserId: userID,
|
|
||||||
Item: &pb.CartItem{ProductId: "1", Quantity: 2},
|
|
||||||
})
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
log.Printf("--> added item")
|
|
||||||
_, err = cl.AddItem(context.TODO(), &pb.AddItemRequest{
|
|
||||||
UserId: userID,
|
|
||||||
Item: &pb.CartItem{ProductId: "2", Quantity: 3},
|
|
||||||
})
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
log.Printf("--> added item")
|
|
||||||
|
|
||||||
log.Println("--- rpc GetCart()")
|
|
||||||
cartResp, err = cl.GetCart(context.TODO(), &pb.GetCartRequest{
|
|
||||||
UserId: userID})
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
log.Printf("--> %d items in cart for user %q", len(cartResp.Items), cartResp.UserId)
|
|
||||||
log.Printf("--> cart: %v", cartResp.Items)
|
|
||||||
log.Println("--- rpc EmptyCart()")
|
|
||||||
_, err = cl.EmptyCart(context.TODO(), &pb.EmptyCartRequest{
|
|
||||||
UserId: userID})
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
log.Printf("--> emptied the cart for user %q", userID)
|
|
||||||
|
|
||||||
return nil
|
|
||||||
}
|
|
Loading…
Reference in a new issue