diff options
Diffstat (limited to 'vendor/github.com/goamz/goamz/elb/elbt_test.go')
-rw-r--r-- | vendor/github.com/goamz/goamz/elb/elbt_test.go | 243 |
1 files changed, 0 insertions, 243 deletions
diff --git a/vendor/github.com/goamz/goamz/elb/elbt_test.go b/vendor/github.com/goamz/goamz/elb/elbt_test.go deleted file mode 100644 index 2ea529452..000000000 --- a/vendor/github.com/goamz/goamz/elb/elbt_test.go +++ /dev/null @@ -1,243 +0,0 @@ -package elb_test - -import ( - "github.com/goamz/goamz/aws" - "github.com/goamz/goamz/elb" - "github.com/goamz/goamz/elb/elbtest" - . "gopkg.in/check.v1" -) - -// LocalServer represents a local elbtest fake server. -type LocalServer struct { - auth aws.Auth - region aws.Region - srv *elbtest.Server -} - -func (s *LocalServer) SetUp(c *C) { - srv, err := elbtest.NewServer() - c.Assert(err, IsNil) - c.Assert(srv, NotNil) - s.srv = srv - s.region = aws.Region{ELBEndpoint: srv.URL()} -} - -// LocalServerSuite defines tests that will run -// against the local elbtest server. It includes -// selected tests from ClientTests; -// when the elbtest functionality is sufficient, it should -// include all of them, and ClientTests can be simply embedded. -type LocalServerSuite struct { - srv LocalServer - ServerTests - clientTests ClientTests -} - -// ServerTests defines a set of tests designed to test -// the elbtest local fake elb server. -// It is not used as a test suite in itself, but embedded within -// another type. -type ServerTests struct { - elb *elb.ELB -} - -// AmazonServerSuite runs the elbtest server tests against a live ELB server. -// It will only be activated if the -all flag is specified. -type AmazonServerSuite struct { - srv AmazonServer - ServerTests -} - -var _ = Suite(&AmazonServerSuite{}) - -func (s *AmazonServerSuite) SetUpSuite(c *C) { - if !*amazon { - c.Skip("AmazonServerSuite tests not enabled") - } - s.srv.SetUp(c) - s.ServerTests.elb = elb.New(s.srv.auth, aws.USEast) -} - -var _ = Suite(&LocalServerSuite{}) - -func (s *LocalServerSuite) SetUpSuite(c *C) { - s.srv.SetUp(c) - s.ServerTests.elb = elb.New(s.srv.auth, s.srv.region) - s.clientTests.elb = elb.New(s.srv.auth, s.srv.region) -} - -func (s *LocalServerSuite) TestCreateLoadBalancer(c *C) { - s.clientTests.TestCreateAndDeleteLoadBalancer(c) -} - -func (s *LocalServerSuite) TestCreateLoadBalancerError(c *C) { - s.clientTests.TestCreateLoadBalancerError(c) -} - -func (s *LocalServerSuite) TestDescribeLoadBalancer(c *C) { - s.clientTests.TestDescribeLoadBalancers(c) -} - -func (s *LocalServerSuite) TestDescribeLoadBalancerListsAddedByNewLoadbalancerFunc(c *C) { - srv := s.srv.srv - srv.NewLoadBalancer("wierdlb") - defer srv.RemoveLoadBalancer("wierdlb") - resp, err := s.clientTests.elb.DescribeLoadBalancers() - c.Assert(err, IsNil) - isPresent := false - for _, desc := range resp.LoadBalancerDescriptions { - if desc.LoadBalancerName == "wierdlb" { - isPresent = true - } - } - c.Assert(isPresent, Equals, true) -} - -func (s *LocalServerSuite) TestDescribeLoadBalancerListsInstancesAddedByRegisterInstancesFunc(c *C) { - srv := s.srv.srv - lbName := "somelb" - srv.NewLoadBalancer(lbName) - defer srv.RemoveLoadBalancer(lbName) - instId := srv.NewInstance() - defer srv.RemoveInstance(instId) - srv.RegisterInstance(instId, lbName) // no need to deregister, since we're removing the lb - resp, err := s.clientTests.elb.DescribeLoadBalancers() - c.Assert(err, IsNil) - c.Assert(len(resp.LoadBalancerDescriptions) > 0, Equals, true) - c.Assert(len(resp.LoadBalancerDescriptions[0].Instances) > 0, Equals, true) - c.Assert(resp.LoadBalancerDescriptions[0].Instances, DeepEquals, []elb.Instance{{InstanceId: instId}}) - srv.DeregisterInstance(instId, lbName) - resp, err = s.clientTests.elb.DescribeLoadBalancers() - c.Assert(err, IsNil) - c.Assert(resp.LoadBalancerDescriptions[0].Instances, DeepEquals, []elb.Instance(nil)) -} - -func (s *LocalServerSuite) TestDescribeLoadBalancersBadRequest(c *C) { - s.clientTests.TestDescribeLoadBalancersBadRequest(c) -} - -func (s *LocalServerSuite) TestRegisterInstanceWithLoadBalancer(c *C) { - srv := s.srv.srv - instId := srv.NewInstance() - defer srv.RemoveInstance(instId) - srv.NewLoadBalancer("testlb") - defer srv.RemoveLoadBalancer("testlb") - resp, err := s.clientTests.elb.RegisterInstancesWithLoadBalancer([]string{instId}, "testlb") - c.Assert(err, IsNil) - c.Assert(resp.InstanceIds, DeepEquals, []string{instId}) -} - -func (s *LocalServerSuite) TestRegisterInstanceWithLoadBalancerWithAbsentInstance(c *C) { - srv := s.srv.srv - srv.NewLoadBalancer("testlb") - defer srv.RemoveLoadBalancer("testlb") - resp, err := s.clientTests.elb.RegisterInstancesWithLoadBalancer([]string{"i-212"}, "testlb") - c.Assert(err, NotNil) - c.Assert(err, ErrorMatches, `^InvalidInstance found in \[i-212\]. Invalid id: "i-212" \(InvalidInstance\)$`) - c.Assert(resp, IsNil) -} - -func (s *LocalServerSuite) TestRegisterInstanceWithLoadBalancerWithAbsentLoadBalancer(c *C) { - // the verification if the lb exists is done before the instances, so there is no need to create - // fixture instances for this test, it'll never get that far - resp, err := s.clientTests.elb.RegisterInstancesWithLoadBalancer([]string{"i-212"}, "absentlb") - c.Assert(err, NotNil) - c.Assert(err, ErrorMatches, `^There is no ACTIVE Load Balancer named 'absentlb' \(LoadBalancerNotFound\)$`) - c.Assert(resp, IsNil) -} - -func (s *LocalServerSuite) TestDeregisterInstanceWithLoadBalancer(c *C) { - // there is no need to register the instance first, amazon returns the same response - // in both cases (instance registered or not) - srv := s.srv.srv - instId := srv.NewInstance() - defer srv.RemoveInstance(instId) - srv.NewLoadBalancer("testlb") - defer srv.RemoveLoadBalancer("testlb") - resp, err := s.clientTests.elb.DeregisterInstancesFromLoadBalancer([]string{instId}, "testlb") - c.Assert(err, IsNil) - c.Assert(resp.RequestId, Not(Equals), "") -} - -func (s *LocalServerSuite) TestDeregisterInstanceWithLoadBalancerWithAbsentLoadBalancer(c *C) { - resp, err := s.clientTests.elb.DeregisterInstancesFromLoadBalancer([]string{"i-212"}, "absentlb") - c.Assert(resp, IsNil) - c.Assert(err, NotNil) - c.Assert(err, ErrorMatches, `^There is no ACTIVE Load Balancer named 'absentlb' \(LoadBalancerNotFound\)$`) -} - -func (s *LocalServerSuite) TestDeregisterInstancewithLoadBalancerWithAbsentInstance(c *C) { - srv := s.srv.srv - srv.NewLoadBalancer("testlb") - defer srv.RemoveLoadBalancer("testlb") - resp, err := s.clientTests.elb.DeregisterInstancesFromLoadBalancer([]string{"i-212"}, "testlb") - c.Assert(resp, IsNil) - c.Assert(err, NotNil) - c.Assert(err, ErrorMatches, `^InvalidInstance found in \[i-212\]. Invalid id: "i-212" \(InvalidInstance\)$`) -} - -func (s *LocalServerSuite) TestDescribeInstanceHealth(c *C) { - srv := s.srv.srv - instId := srv.NewInstance() - defer srv.RemoveInstance(instId) - srv.NewLoadBalancer("testlb") - defer srv.RemoveLoadBalancer("testlb") - resp, err := s.clientTests.elb.DescribeInstanceHealth("testlb", instId) - c.Assert(err, IsNil) - c.Assert(len(resp.InstanceStates) > 0, Equals, true) - c.Assert(resp.InstanceStates[0].Description, Equals, "Instance is in pending state.") - c.Assert(resp.InstanceStates[0].InstanceId, Equals, instId) - c.Assert(resp.InstanceStates[0].State, Equals, "OutOfService") - c.Assert(resp.InstanceStates[0].ReasonCode, Equals, "Instance") -} - -func (s *LocalServerSuite) TestDescribeInstanceHealthBadRequest(c *C) { - s.clientTests.TestDescribeInstanceHealthBadRequest(c) -} - -func (s *LocalServerSuite) TestDescribeInstanceHealthWithoutSpecifyingInstances(c *C) { - srv := s.srv.srv - instId := srv.NewInstance() - defer srv.RemoveInstance(instId) - srv.NewLoadBalancer("testlb") - defer srv.RemoveLoadBalancer("testlb") - srv.RegisterInstance(instId, "testlb") - resp, err := s.clientTests.elb.DescribeInstanceHealth("testlb") - c.Assert(err, IsNil) - c.Assert(len(resp.InstanceStates) > 0, Equals, true) - c.Assert(resp.InstanceStates[0].Description, Equals, "Instance is in pending state.") - c.Assert(resp.InstanceStates[0].InstanceId, Equals, instId) - c.Assert(resp.InstanceStates[0].State, Equals, "OutOfService") - c.Assert(resp.InstanceStates[0].ReasonCode, Equals, "Instance") -} - -func (s *LocalServerSuite) TestDescribeInstanceHealthChangingIt(c *C) { - srv := s.srv.srv - instId := srv.NewInstance() - defer srv.RemoveInstance(instId) - srv.NewLoadBalancer("somelb") - defer srv.RemoveLoadBalancer("somelb") - srv.RegisterInstance(instId, "somelb") - state := elb.InstanceState{ - Description: "Instance has failed at least the UnhealthyThreshold number of health checks consecutively", - InstanceId: instId, - State: "OutOfService", - ReasonCode: "Instance", - } - srv.ChangeInstanceState("somelb", state) - resp, err := s.clientTests.elb.DescribeInstanceHealth("somelb") - c.Assert(err, IsNil) - c.Assert(len(resp.InstanceStates) > 0, Equals, true) - c.Assert(resp.InstanceStates[0].Description, Equals, "Instance has failed at least the UnhealthyThreshold number of health checks consecutively") - c.Assert(resp.InstanceStates[0].InstanceId, Equals, instId) - c.Assert(resp.InstanceStates[0].State, Equals, "OutOfService") - c.Assert(resp.InstanceStates[0].ReasonCode, Equals, "Instance") -} - -func (s *LocalServerSuite) TestConfigureHealthCheck(c *C) { - s.clientTests.TestConfigureHealthCheck(c) -} - -func (s *LocalServerSuite) TestConfigureHealthCheckBadRequest(c *C) { - s.clientTests.TestConfigureHealthCheckBadRequest(c) -} |