Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code | Sign in
(428)

Delta Between Two Patch Sets: provider/openstack/local_test.go

Issue 13355044: environs/config: more restrictive New
Left Patch Set: environs/config: more restrictive New Created 11 years, 7 months ago
Right Patch Set: environs/config: more restrictive New Created 11 years, 7 months ago
Left:
Right:
Use n/p to move between diff chunks; N/P to move between comments. Please Sign in to add in-line comments.
Jump to:
Left: Side by side diff | Download
Right: Side by side diff | Download
« no previous file with change/comment | « provider/openstack/live_test.go ('k') | provider/state_test.go » ('j') | no next file with change/comment »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
LEFTRIGHT
1 // Copyright 2012, 2013 Canonical Ltd. 1 // Copyright 2012, 2013 Canonical Ltd.
2 // Licensed under the AGPLv3, see LICENCE file for details. 2 // Licensed under the AGPLv3, see LICENCE file for details.
3 3
4 package openstack_test 4 package openstack_test
5 5
6 import ( 6 import (
7 "bytes" 7 "bytes"
8 "fmt" 8 "fmt"
9 "io/ioutil" 9 "io/ioutil"
10 "net/http" 10 "net/http"
(...skipping 13 matching lines...) Expand all
24 "launchpad.net/juju-core/environs/imagemetadata" 24 "launchpad.net/juju-core/environs/imagemetadata"
25 "launchpad.net/juju-core/environs/jujutest" 25 "launchpad.net/juju-core/environs/jujutest"
26 "launchpad.net/juju-core/environs/simplestreams" 26 "launchpad.net/juju-core/environs/simplestreams"
27 envtesting "launchpad.net/juju-core/environs/testing" 27 envtesting "launchpad.net/juju-core/environs/testing"
28 "launchpad.net/juju-core/environs/tools" 28 "launchpad.net/juju-core/environs/tools"
29 "launchpad.net/juju-core/instance" 29 "launchpad.net/juju-core/instance"
30 "launchpad.net/juju-core/juju/testing" 30 "launchpad.net/juju-core/juju/testing"
31 "launchpad.net/juju-core/provider" 31 "launchpad.net/juju-core/provider"
32 "launchpad.net/juju-core/provider/openstack" 32 "launchpad.net/juju-core/provider/openstack"
33 coretesting "launchpad.net/juju-core/testing" 33 coretesting "launchpad.net/juju-core/testing"
34 jc "launchpad.net/juju-core/testing/checkers"
34 "launchpad.net/juju-core/version" 35 "launchpad.net/juju-core/version"
35 ) 36 )
36 37
37 type ProviderSuite struct { 38 type ProviderSuite struct {
38 restoreTimeouts func() 39 restoreTimeouts func()
39 } 40 }
40 41
41 var _ = gc.Suite(&ProviderSuite{}) 42 var _ = gc.Suite(&ProviderSuite{})
42 43
43 func (s *ProviderSuite) SetUpTest(c *gc.C) { 44 func (s *ProviderSuite) SetUpTest(c *gc.C) {
(...skipping 425 matching lines...) Expand 10 before | Expand all | Expand 10 after
469 inst1, _, err := provider.StartInstance(s.env, "1", "fake_nonce", series , constraints.Value{}, info, apiInfo) 470 inst1, _, err := provider.StartInstance(s.env, "1", "fake_nonce", series , constraints.Value{}, info, apiInfo)
470 c.Assert(err, gc.IsNil) 471 c.Assert(err, gc.IsNil)
471 472
472 err = s.env.Destroy(append(insts, inst1)) 473 err = s.env.Destroy(append(insts, inst1))
473 c.Assert(err, gc.IsNil) 474 c.Assert(err, gc.IsNil)
474 475
475 _, err = provider.LoadState(s.env.Storage()) 476 _, err = provider.LoadState(s.env.Storage())
476 c.Assert(err, gc.NotNil) 477 c.Assert(err, gc.NotNil)
477 } 478 }
478 479
479 func (s *localServerSuite) TestGetImageMetadataURLs(c *gc.C) { 480 func (s *localServerSuite) TestGetImageMetadataSources(c *gc.C) {
480 » urls, err := imagemetadata.GetMetadataURLs(s.env) 481 » sources, err := imagemetadata.GetMetadataSources(s.env)
481 » c.Assert(err, gc.IsNil) 482 » c.Assert(err, gc.IsNil)
482 » c.Assert(len(urls), gc.Equals, 3) 483 » c.Assert(len(sources), gc.Equals, 4)
484 » var urls = make([]string, len(sources))
485 » for i, source := range sources {
486 » » url, err := source.URL("")
487 » » c.Assert(err, gc.IsNil)
488 » » urls[i] = url
489 » }
490 » // The control bucket URL contains the bucket name.
491 » c.Check(strings.Contains(urls[0], openstack.ControlBucketName(s.env)), j c.IsTrue)
483 // The public bucket URL ends with "/juju-dist/". 492 // The public bucket URL ends with "/juju-dist/".
484 » c.Check(strings.HasSuffix(urls[0], "/juju-dist/"), gc.Equals, true) 493 » c.Check(strings.HasSuffix(urls[1], "/juju-dist/"), jc.IsTrue)
485 // The product-streams URL ends with "/imagemetadata". 494 // The product-streams URL ends with "/imagemetadata".
486 » c.Check(strings.HasSuffix(urls[1], "/imagemetadata"), gc.Equals, true) 495 » c.Check(strings.HasSuffix(urls[2], "/imagemetadata/"), jc.IsTrue)
487 » c.Assert(urls[2], gc.Equals, imagemetadata.DefaultBaseURL) 496 » c.Assert(urls[3], gc.Equals, imagemetadata.DefaultBaseURL+"/")
488 } 497 }
489 498
490 func (s *localServerSuite) TestGetToolsMetadataURLs(c *gc.C) { 499 func (s *localServerSuite) TestGetToolsMetadataSources(c *gc.C) {
491 » urls, err := tools.GetMetadataURLs(s.env) 500 » sources, err := tools.GetMetadataSources(s.env)
492 » c.Assert(err, gc.IsNil) 501 » c.Assert(err, gc.IsNil)
493 » c.Assert(len(urls), gc.Equals, 1) 502 » c.Assert(len(sources), gc.Equals, 2)
494 » _, err = url.Parse(urls[0]) 503 » var urls = make([]string, len(sources))
504 » for i, source := range sources {
505 » » url, err := source.URL("")
506 » » c.Assert(err, gc.IsNil)
507 » » urls[i] = url
508 » }
509 » // The control bucket URL contains the bucket name.
510 » c.Check(strings.Contains(urls[0], openstack.ControlBucketName(s.env)+"/t ools"), jc.IsTrue)
511 » c.Assert(err, gc.IsNil)
512 » // Check that the URL from keytone parses.
513 » _, err = url.Parse(urls[1])
495 c.Assert(err, gc.IsNil) 514 c.Assert(err, gc.IsNil)
496 } 515 }
497 516
498 func (s *localServerSuite) TestFindImageSpecPublicStorage(c *gc.C) { 517 func (s *localServerSuite) TestFindImageSpecPublicStorage(c *gc.C) {
499 spec, err := openstack.FindInstanceSpec(s.Env, "raring", "amd64", "mem=5 12M") 518 spec, err := openstack.FindInstanceSpec(s.Env, "raring", "amd64", "mem=5 12M")
500 c.Assert(err, gc.IsNil) 519 c.Assert(err, gc.IsNil)
501 c.Assert(spec.Image.Id, gc.Equals, "id-y") 520 c.Assert(spec.Image.Id, gc.Equals, "id-y")
502 c.Assert(spec.InstanceType.Name, gc.Equals, "m1.tiny") 521 c.Assert(spec.InstanceType.Name, gc.Equals, "m1.tiny")
503 } 522 }
504 523
505 func (s *localServerSuite) TestFindImageBadDefaultImage(c *gc.C) { 524 func (s *localServerSuite) TestFindImageBadDefaultImage(c *gc.C) {
506 // An error occurs if no suitable image is found. 525 // An error occurs if no suitable image is found.
507 _, err := openstack.FindInstanceSpec(s.Env, "saucy", "amd64", "mem=8G") 526 _, err := openstack.FindInstanceSpec(s.Env, "saucy", "amd64", "mem=8G")
508 c.Assert(err, gc.ErrorMatches, `no "saucy" images in some-region with ar ches \[amd64\]`) 527 c.Assert(err, gc.ErrorMatches, `no "saucy" images in some-region with ar ches \[amd64\]`)
509 } 528 }
510 529
511 func (s *localServerSuite) TestValidateImageMetadata(c *gc.C) { 530 func (s *localServerSuite) TestValidateImageMetadata(c *gc.C) {
512 params, err := s.Env.(simplestreams.MetadataValidator).MetadataLookupPar ams("some-region") 531 params, err := s.Env.(simplestreams.MetadataValidator).MetadataLookupPar ams("some-region")
513 c.Assert(err, gc.IsNil) 532 c.Assert(err, gc.IsNil)
514 » params.BaseURLs, err = imagemetadata.GetMetadataURLs(s.Env) 533 » params.Sources, err = imagemetadata.GetMetadataSources(s.Env)
515 c.Assert(err, gc.IsNil) 534 c.Assert(err, gc.IsNil)
516 params.Series = "raring" 535 params.Series = "raring"
517 image_ids, err := imagemetadata.ValidateImageMetadata(params) 536 image_ids, err := imagemetadata.ValidateImageMetadata(params)
518 c.Assert(err, gc.IsNil) 537 c.Assert(err, gc.IsNil)
519 c.Assert(image_ids, gc.DeepEquals, []string{"id-y"}) 538 c.Assert(image_ids, gc.DeepEquals, []string{"id-y"})
520 } 539 }
521 540
522 func (s *localServerSuite) TestRemoveAll(c *gc.C) { 541 func (s *localServerSuite) TestRemoveAll(c *gc.C) {
523 storage := s.Env.Storage() 542 storage := s.Env.Storage()
524 for _, a := range []byte("abcdefghijklmnopqrstuvwxyz") { 543 for _, a := range []byte("abcdefghijklmnopqrstuvwxyz") {
(...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after
633 config["public-bucket-url"] = "" 652 config["public-bucket-url"] = ""
634 var err error 653 var err error
635 s.env, err = environs.NewFromAttrs(config) 654 s.env, err = environs.NewFromAttrs(config)
636 c.Assert(err, gc.IsNil) 655 c.Assert(err, gc.IsNil)
637 url, err := s.env.PublicStorage().URL("") 656 url, err := s.env.PublicStorage().URL("")
638 c.Assert(err, gc.IsNil) 657 c.Assert(err, gc.IsNil)
639 swiftURL, err := openstack.GetSwiftURL(s.env) 658 swiftURL, err := openstack.GetSwiftURL(s.env)
640 c.Assert(err, gc.IsNil) 659 c.Assert(err, gc.IsNil)
641 c.Assert(url, gc.Equals, fmt.Sprintf("%s/juju-dist/", swiftURL)) 660 c.Assert(url, gc.Equals, fmt.Sprintf("%s/juju-dist/", swiftURL))
642 } 661 }
LEFTRIGHT

Powered by Google App Engine
RSS Feeds Recent Issues | This issue
This is Rietveld f62528b