Skip to content

Commit 23fed91

Browse files
Added unit test for issues #863
1 parent 931118f commit 23fed91

4 files changed

Lines changed: 1078 additions & 1 deletion

File tree

plugin/commands/order/place_test.go

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,18 +27,25 @@ var _ = Describe("Place", func() {
2727
slCommand *metadata.SoftlayerCommand
2828
OrderManager managers.OrderManager
2929
fakeOrderManager *testhelpers.FakeOrderManager
30+
fakeHandler *testhelpers.FakeTransportHandler
3031
)
3132
BeforeEach(func() {
3233
filenames := []string{"getDatacenters_1"}
3334
fakeUI = terminal.NewFakeUI()
3435
fakeSession = testhelpers.NewFakeSoftlayerSession(filenames)
36+
fakeHandler = testhelpers.GetSessionHandler(fakeSession)
3537
OrderManager = managers.NewOrderManager(fakeSession)
3638
fakeOrderManager = new(testhelpers.FakeOrderManager)
3739
slCommand = metadata.NewSoftlayerCommand(fakeUI, fakeSession)
3840
cliCommand = order.NewPlaceCommand(slCommand)
3941
cliCommand.Command.PersistentFlags().Var(cliCommand.OutputFlag, "output", "--output=JSON for json output.")
4042
cliCommand.OrderManager = OrderManager
4143
})
44+
AfterEach(func() {
45+
// Clear API call logs and any errors that might have been set after every test
46+
fakeHandler.ClearApiCallLogs()
47+
fakeHandler.ClearErrors()
48+
})
4249

4350
Describe("order verify", func() {
4451
for k, _ := range order.TYPEMAP {
@@ -236,4 +243,34 @@ var _ = Describe("Place", func() {
236243
})
237244
})
238245
})
246+
Describe("softlayer-cli/issues/863", func() {
247+
BeforeEach(func() {
248+
fakeHandler.ClearApiCallLogs()
249+
fakeHandler.SetFileNames([]string{"getItems-835", "getDatacenters_mad02"})
250+
})
251+
It("Finds the correct price IDs", func() {
252+
err := testhelpers.RunCobraCommand(
253+
cliCommand.Command,
254+
"PUBLIC_CLOUD_SERVER", "MADRID02", "1_GBPS_PRIVATE_NETWORK_UPLINK", "1_IP_ADDRESS",
255+
"GUEST_DISK_100_GB_LOCAL", "OS_RED_HAT_ENTERPRISE_LINUX_9_X_MINIMAL_INSTALL_64_BIT",
256+
"MONITORING_HOST_PING", "NOTIFICATION_EMAIL_AND_TICKET", "AUTOMATED_NOTIFICATION",
257+
"UNLIMITED_SSL_VPN_USERS_1_PPTP_VPN_USER_PER_ACCOUNT", "REBOOT_REMOTE_CONSOLE", "BANDWIDTH_0_GB",
258+
"--billing=monthly",
259+
`--extras={"virtualGuests":[{"hostname":"testServer","domain":"ibm.com"}]}`,
260+
"--complex-type=SoftLayer_Container_Product_Order_Virtual_Guest",
261+
"--preset=BL2_8x32x100", "--verify",
262+
)
263+
Expect(err).NotTo(HaveOccurred())
264+
265+
callLog := fakeHandler.ApiCallLogs
266+
Expect(len(callLog)).To(Equal(9))
267+
fmt.Printf(callLog[8].String())
268+
Expect(callLog[8].String()).To(Equal(`SoftLayer_Product_Order::verifyOrder(id=0, mask='', filter='', ` +
269+
`{"parameters":[{"complexType":"SoftLayer_Container_Product_Order_Virtual_Guest",` +
270+
`"location":"3460412","packageId":865,"presetId":785,"prices":[{"id":899},{"id":21},{"id":204637},` +
271+
`{"id":314158},{"id":55},{"id":57},{"id":58},{"id":420},{"id":905},{"id":22505}],"quantity":1,` +
272+
`"useHourlyPricing":false,"virtualGuests":[{"domain":"ibm.com","hostname":"testServer"}]}]}`,
273+
))
274+
})
275+
})
239276
})
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
[{"id":3460412,"name":"mad02","regions":[{"keyname":"MADRID02"}]}]

0 commit comments

Comments
 (0)