263
267
c.Assert(nodeRequestValues[0].Get("agent_name"), gc.Equals, exampleAgentName)
270
var testValues = []struct {
271
constraints constraints.Value
272
expectedResult url.Values
274
{constraints.Value{Arch: stringp("arm")}, url.Values{"arch": {"arm"}}},
275
{constraints.Value{CpuCores: uint64p(4)}, url.Values{"cpu_count": {"4"}}},
276
{constraints.Value{Mem: uint64p(1024)}, url.Values{"mem": {"1024"}}},
278
// CpuPower is ignored.
279
{constraints.Value{CpuPower: uint64p(1024)}, url.Values{}},
281
// RootDisk is ignored.
282
{constraints.Value{RootDisk: uint64p(8192)}, url.Values{}},
283
{constraints.Value{Tags: &[]string{"foo", "bar"}}, url.Values{"tags": {"foo,bar"}}},
284
{constraints.Value{Arch: stringp("arm"), CpuCores: uint64p(4), Mem: uint64p(1024), CpuPower: uint64p(1024), RootDisk: uint64p(8192), Tags: &[]string{"foo", "bar"}}, url.Values{"arch": {"arm"}, "cpu_count": {"4"}, "mem": {"1024"}, "tags": {"foo,bar"}}},
266
287
func (*environSuite) TestConvertConstraints(c *gc.C) {
267
var testValues = []struct {
268
constraints constraints.Value
269
expectedResult url.Values
271
{constraints.Value{Arch: stringp("arm")}, url.Values{"arch": {"arm"}}},
272
{constraints.Value{CpuCores: uint64p(4)}, url.Values{"cpu_count": {"4"}}},
273
{constraints.Value{Mem: uint64p(1024)}, url.Values{"mem": {"1024"}}},
274
// CpuPower is ignored.
275
{constraints.Value{CpuPower: uint64p(1024)}, url.Values{}},
276
// RootDisk is ignored.
277
{constraints.Value{RootDisk: uint64p(8192)}, url.Values{}},
278
{constraints.Value{Tags: &[]string{"foo", "bar"}}, url.Values{"tags": {"foo,bar"}}},
279
{constraints.Value{Arch: stringp("arm"), CpuCores: uint64p(4), Mem: uint64p(1024), CpuPower: uint64p(1024), RootDisk: uint64p(8192), Tags: &[]string{"foo", "bar"}}, url.Values{"arch": {"arm"}, "cpu_count": {"4"}, "mem": {"1024"}, "tags": {"foo,bar"}}},
281
288
for _, test := range testValues {
282
289
c.Check(convertConstraints(test.constraints), gc.DeepEquals, test.expectedResult)
293
var testNetworkValues = []struct {
294
networks environs.Networks
295
expectedResult url.Values
303
IncludedNetworks: []string{"included_net_1"},
305
url.Values{"networks": {"included_net_1"}},
309
ExcludedNetworks: []string{"excluded_net_1"},
311
url.Values{"not_networks": {"excluded_net_1"}},
315
IncludedNetworks: []string{"included_net_1", "included_net_2"},
316
ExcludedNetworks: []string{"excluded_net_1", "excluded_net_2"},
319
"networks": {"included_net_1", "included_net_2"},
320
"not_networks": {"excluded_net_1", "excluded_net_2"},
325
func (*environSuite) TestConvertNetworks(c *gc.C) {
326
for _, test := range testNetworkValues {
327
var vals = url.Values{}
328
addNetworks(vals, test.networks)
329
c.Check(vals, gc.DeepEquals, test.expectedResult)
286
333
func (suite *environSuite) getInstance(systemId string) *maasInstance {
287
334
input := `{"system_id": "` + systemId + `"}`
288
335
node := suite.testMAASObject.TestServer.NewNode(input)