~james-page/ubuntu/wily/juju-core/mir-fixes

« back to all changes in this revision

Viewing changes to src/launchpad.net/juju-core/cmd/juju/status_test.go

  • Committer: Package Import Robot
  • Author(s): James Page
  • Date: 2014-03-28 08:58:42 UTC
  • mfrom: (1.1.21)
  • Revision ID: package-import@ubuntu.com-20140328085842-cyzrgc120bdfxwj0
Tags: 1.17.7-0ubuntu1
* New upstream point release, including fixes for:
  - no debug log with all providers on Ubuntu 14.04 (LP: #1294776).
* d/control: Add cpu-checker dependency to juju-local (LP: #1297077).

Show diffs side-by-side

added added

removed removed

Lines of Context:
11
11
        "strings"
12
12
        "time"
13
13
 
 
14
        jc "github.com/juju/testing/checkers"
14
15
        gc "launchpad.net/gocheck"
15
16
        "launchpad.net/goyaml"
16
17
 
299
300
                        },
300
301
                },
301
302
        ), test(
 
303
                "deploy two services with networks",
 
304
                addMachine{machineId: "0", job: state.JobManageEnviron},
 
305
                startAliveMachine{"0"},
 
306
                setMachineStatus{"0", params.StatusStarted, ""},
 
307
                setAddresses{"0", []instance.Address{
 
308
                        instance.NewAddress("10.0.0.1"),
 
309
                        instance.NewAddress("dummyenv-0.dns"),
 
310
                }},
 
311
                addCharm{"dummy"},
 
312
                addService{
 
313
                        name:            "networks-service",
 
314
                        charm:           "dummy",
 
315
                        withNetworks:    []string{"net1", "net2"},
 
316
                        withoutNetworks: []string{"net3", "net4"},
 
317
                },
 
318
                addService{
 
319
                        name:            "no-networks-service",
 
320
                        charm:           "dummy",
 
321
                        withoutNetworks: []string{"mynet"},
 
322
                },
 
323
 
 
324
                expect{
 
325
                        "simulate just the two services and a bootstrap node",
 
326
                        M{
 
327
                                "environment": "dummyenv",
 
328
                                "machines": M{
 
329
                                        "0": machine0,
 
330
                                },
 
331
                                "services": M{
 
332
                                        "networks-service": M{
 
333
                                                "charm":   "cs:quantal/dummy-1",
 
334
                                                "exposed": false,
 
335
                                                "networks": M{
 
336
                                                        "enabled":  L{"net1", "net2"},
 
337
                                                        "disabled": L{"net3", "net4"},
 
338
                                                },
 
339
                                        },
 
340
                                        "no-networks-service": M{
 
341
                                                "charm":   "cs:quantal/dummy-1",
 
342
                                                "exposed": false,
 
343
                                                "networks": M{
 
344
                                                        "disabled": L{"mynet"},
 
345
                                                },
 
346
                                        },
 
347
                                },
 
348
                        },
 
349
                },
 
350
        ), test(
302
351
                "instance with different hardware characteristics",
303
 
                addMachine{"0", machineCons, state.JobManageEnviron},
 
352
                addMachine{machineId: "0", cons: machineCons, job: state.JobManageEnviron},
304
353
                setAddresses{"0", []instance.Address{
305
354
                        instance.NewAddress("10.0.0.1"),
306
355
                        instance.NewAddress("dummyenv-0.dns"),
325
374
                },
326
375
        ), test(
327
376
                "instance without addresses",
328
 
                addMachine{"0", machineCons, state.JobManageEnviron},
 
377
                addMachine{machineId: "0", cons: machineCons, job: state.JobManageEnviron},
329
378
                startAliveMachine{"0"},
330
379
                setMachineStatus{"0", params.StatusStarted, ""},
331
380
                expect{
384
433
                startAliveMachine{"0"},
385
434
                setMachineStatus{"0", params.StatusStarted, ""},
386
435
                addCharm{"dummy"},
387
 
                addService{"dummy-service", "dummy"},
388
 
                addService{"exposed-service", "dummy"},
 
436
                addService{name: "dummy-service", charm: "dummy"},
 
437
                addService{name: "exposed-service", charm: "dummy"},
389
438
                expect{
390
439
                        "no services exposed yet",
391
440
                        M{
711
760
                                },
712
761
                        },
713
762
                },
714
 
        ),
715
 
        test(
 
763
        ), test(
716
764
                "add a dying service",
717
765
                addCharm{"dummy"},
718
 
                addService{"dummy-service", "dummy"},
 
766
                addService{name: "dummy-service", charm: "dummy"},
719
767
                addMachine{machineId: "0", job: state.JobHostUnits},
720
768
                addUnit{"dummy-service", "0"},
721
769
                ensureDyingService{"dummy-service"},
757
805
                addCharm{"mysql"},
758
806
                addCharm{"varnish"},
759
807
 
760
 
                addService{"project", "wordpress"},
 
808
                addService{name: "project", charm: "wordpress"},
761
809
                setServiceExposed{"project", true},
762
810
                addMachine{machineId: "1", job: state.JobHostUnits},
763
811
                setAddresses{"1", []instance.Address{instance.NewAddress("dummyenv-1.dns")}},
766
814
                addAliveUnit{"project", "1"},
767
815
                setUnitStatus{"project/0", params.StatusStarted, ""},
768
816
 
769
 
                addService{"mysql", "mysql"},
 
817
                addService{name: "mysql", charm: "mysql"},
770
818
                setServiceExposed{"mysql", true},
771
819
                addMachine{machineId: "2", job: state.JobHostUnits},
772
820
                setAddresses{"2", []instance.Address{instance.NewAddress("dummyenv-2.dns")}},
775
823
                addAliveUnit{"mysql", "2"},
776
824
                setUnitStatus{"mysql/0", params.StatusStarted, ""},
777
825
 
778
 
                addService{"varnish", "varnish"},
 
826
                addService{name: "varnish", charm: "varnish"},
779
827
                setServiceExposed{"varnish", true},
780
828
                addMachine{machineId: "3", job: state.JobHostUnits},
781
829
                setAddresses{"3", []instance.Address{instance.NewAddress("dummyenv-3.dns")}},
783
831
                setMachineStatus{"3", params.StatusStarted, ""},
784
832
                addUnit{"varnish", "3"},
785
833
 
786
 
                addService{"private", "wordpress"},
 
834
                addService{name: "private", charm: "wordpress"},
787
835
                setServiceExposed{"private", true},
788
836
                addMachine{machineId: "4", job: state.JobHostUnits},
789
837
                setAddresses{"4", []instance.Address{instance.NewAddress("dummyenv-4.dns")}},
876
924
                addCharm{"riak"},
877
925
                addCharm{"wordpress"},
878
926
 
879
 
                addService{"riak", "riak"},
 
927
                addService{name: "riak", charm: "riak"},
880
928
                setServiceExposed{"riak", true},
881
929
                addMachine{machineId: "1", job: state.JobHostUnits},
882
930
                setAddresses{"1", []instance.Address{instance.NewAddress("dummyenv-1.dns")}},
948
996
                addCharm{"mysql"},
949
997
                addCharm{"logging"},
950
998
 
951
 
                addService{"wordpress", "wordpress"},
 
999
                addService{name: "wordpress", charm: "wordpress"},
952
1000
                setServiceExposed{"wordpress", true},
953
1001
                addMachine{machineId: "1", job: state.JobHostUnits},
954
1002
                setAddresses{"1", []instance.Address{instance.NewAddress("dummyenv-1.dns")}},
957
1005
                addAliveUnit{"wordpress", "1"},
958
1006
                setUnitStatus{"wordpress/0", params.StatusStarted, ""},
959
1007
 
960
 
                addService{"mysql", "mysql"},
 
1008
                addService{name: "mysql", charm: "mysql"},
961
1009
                setServiceExposed{"mysql", true},
962
1010
                addMachine{machineId: "2", job: state.JobHostUnits},
963
1011
                setAddresses{"2", []instance.Address{instance.NewAddress("dummyenv-2.dns")}},
966
1014
                addAliveUnit{"mysql", "2"},
967
1015
                setUnitStatus{"mysql/0", params.StatusStarted, ""},
968
1016
 
969
 
                addService{"logging", "logging"},
 
1017
                addService{name: "logging", charm: "logging"},
970
1018
                setServiceExposed{"logging", true},
971
1019
 
972
1020
                relateServices{"wordpress", "mysql"},
1160
1208
                addCharm{"logging"},
1161
1209
                addCharm{"monitoring"},
1162
1210
 
1163
 
                addService{"wordpress", "wordpress"},
 
1211
                addService{name: "wordpress", charm: "wordpress"},
1164
1212
                setServiceExposed{"wordpress", true},
1165
1213
                addMachine{machineId: "1", job: state.JobHostUnits},
1166
1214
                setAddresses{"1", []instance.Address{instance.NewAddress("dummyenv-1.dns")}},
1169
1217
                addAliveUnit{"wordpress", "1"},
1170
1218
                setUnitStatus{"wordpress/0", params.StatusStarted, ""},
1171
1219
 
1172
 
                addService{"logging", "logging"},
 
1220
                addService{name: "logging", charm: "logging"},
1173
1221
                setServiceExposed{"logging", true},
1174
 
                addService{"monitoring", "monitoring"},
 
1222
                addService{name: "monitoring", charm: "monitoring"},
1175
1223
                setServiceExposed{"monitoring", true},
1176
1224
 
1177
1225
                relateServices{"wordpress", "logging"},
1234
1282
                startAliveMachine{"0"},
1235
1283
                setMachineStatus{"0", params.StatusStarted, ""},
1236
1284
                addCharm{"mysql"},
1237
 
                addService{"mysql", "mysql"},
 
1285
                addService{name: "mysql", charm: "mysql"},
1238
1286
                setServiceExposed{"mysql", true},
1239
1287
 
1240
1288
                addMachine{machineId: "1", job: state.JobHostUnits},
1323
1371
                startAliveMachine{"1"},
1324
1372
                setMachineStatus{"1", params.StatusStarted, ""},
1325
1373
                addCharm{"mysql"},
1326
 
                addService{"mysql", "mysql"},
 
1374
                addService{name: "mysql", charm: "mysql"},
1327
1375
                setServiceExposed{"mysql", true},
1328
1376
                addCharmPlaceholder{"mysql", 23},
1329
1377
                addAliveUnit{"mysql", "1"},
1363
1411
                startAliveMachine{"1"},
1364
1412
                setMachineStatus{"1", params.StatusStarted, ""},
1365
1413
                addCharm{"mysql"},
1366
 
                addService{"mysql", "mysql"},
 
1414
                addService{name: "mysql", charm: "mysql"},
1367
1415
                setServiceExposed{"mysql", true},
1368
1416
                addAliveUnit{"mysql", "1"},
1369
1417
                setUnitCharmURL{"mysql/0", "cs:quantal/mysql-1"},
1405
1453
                startAliveMachine{"1"},
1406
1454
                setMachineStatus{"1", params.StatusStarted, ""},
1407
1455
                addCharm{"mysql"},
1408
 
                addService{"mysql", "mysql"},
 
1456
                addService{name: "mysql", charm: "mysql"},
1409
1457
                setServiceExposed{"mysql", true},
1410
1458
                addAliveUnit{"mysql", "1"},
1411
1459
                setUnitCharmURL{"mysql/0", "cs:quantal/mysql-1"},
1449
1497
                startAliveMachine{"1"},
1450
1498
                setMachineStatus{"1", params.StatusStarted, ""},
1451
1499
                addCharm{"mysql"},
1452
 
                addService{"mysql", "mysql"},
 
1500
                addService{name: "mysql", charm: "mysql"},
1453
1501
                setServiceExposed{"mysql", true},
1454
1502
                addAliveUnit{"mysql", "1"},
1455
1503
                setUnitCharmURL{"mysql/0", "cs:quantal/mysql-1"},
1619
1667
}
1620
1668
 
1621
1669
type addService struct {
1622
 
        name  string
1623
 
        charm string
 
1670
        name            string
 
1671
        charm           string
 
1672
        withNetworks    []string
 
1673
        withoutNetworks []string
1624
1674
}
1625
1675
 
1626
1676
func (as addService) step(c *gc.C, ctx *context) {
1627
1677
        ch, ok := ctx.charms[as.charm]
1628
1678
        c.Assert(ok, gc.Equals, true)
1629
 
        _, err := ctx.st.AddService(as.name, "user-admin", ch)
 
1679
        _, err := ctx.st.AddService(as.name, "user-admin", ch, as.withNetworks, as.withoutNetworks)
1630
1680
        c.Assert(err, gc.IsNil)
1631
1681
}
1632
1682
 
1876
1926
                actual := make(M)
1877
1927
                err = format.unmarshal(stdout, &actual)
1878
1928
                c.Assert(err, gc.IsNil)
1879
 
                c.Assert(actual, gc.DeepEquals, expected)
 
1929
                c.Assert(actual, jc.DeepEquals, expected)
1880
1930
        }
1881
1931
}
1882
1932
 
1901
1951
                addMachine{machineId: "0", job: state.JobManageEnviron},
1902
1952
                addMachine{machineId: "1", job: state.JobHostUnits},
1903
1953
                addCharm{"mysql"},
1904
 
                addService{"mysql", "mysql"},
 
1954
                addService{name: "mysql", charm: "mysql"},
1905
1955
                addAliveUnit{"mysql", "1"},
1906
1956
        }
1907
1957
        ctx := s.newContext()