github.com/cloud-green/juju@v0.0.0-20151002100041-a00291338d3d/provider/cloudsigma/provider_test.go (about)

     1  // Copyright 2015 Canonical Ltd.
     2  // Licensed under the AGPLv3, see LICENCE file for details.
     3  
     4  package cloudsigma
     5  
     6  import (
     7  	"flag"
     8  	"io"
     9  	"testing"
    10  
    11  	"github.com/juju/utils"
    12  	gc "gopkg.in/check.v1"
    13  
    14  	tt "github.com/juju/juju/testing"
    15  )
    16  
    17  var live = flag.Bool("live", false, "run tests on live CloudSigma account")
    18  
    19  func TestCloudSigma(t *testing.T) {
    20  	gc.TestingT(t)
    21  }
    22  
    23  type providerSuite struct {
    24  	tt.BaseSuite
    25  }
    26  
    27  var _ = gc.Suite(&providerSuite{})
    28  
    29  func (s *providerSuite) TestProviderBoilerplateConfig(c *gc.C) {
    30  	cfg := providerInstance.BoilerplateConfig()
    31  	c.Assert(cfg, gc.Not(gc.Equals), "")
    32  }
    33  
    34  type failReader struct {
    35  	err error
    36  }
    37  
    38  func (f *failReader) Read(p []byte) (n int, err error) {
    39  	return 0, f.err
    40  }
    41  
    42  type fakeStorage struct {
    43  	call   string
    44  	name   string
    45  	prefix string
    46  	err    error
    47  	reader io.Reader
    48  	length int64
    49  }
    50  
    51  func (f *fakeStorage) Get(name string) (io.ReadCloser, error) {
    52  	f.call = "Get"
    53  	f.name = name
    54  	return nil, nil
    55  }
    56  func (f *fakeStorage) List(prefix string) ([]string, error) {
    57  	f.call = "List"
    58  	f.prefix = prefix
    59  	return []string{prefix}, nil
    60  }
    61  func (f *fakeStorage) URL(name string) (string, error) {
    62  	f.call = "URL"
    63  	f.name = name
    64  	return "", nil
    65  }
    66  func (f *fakeStorage) DefaultConsistencyStrategy() utils.AttemptStrategy {
    67  	f.call = "DefaultConsistencyStrategy"
    68  	return utils.AttemptStrategy{}
    69  }
    70  func (f *fakeStorage) ShouldRetry(err error) bool {
    71  	f.call = "ShouldRetry"
    72  	f.err = err
    73  	return false
    74  }
    75  func (f *fakeStorage) Put(name string, r io.Reader, length int64) error {
    76  	f.call = "Put"
    77  	f.name = name
    78  	f.reader = r
    79  	f.length = length
    80  	return nil
    81  }
    82  func (f *fakeStorage) Remove(name string) error {
    83  	f.call = "Remove"
    84  	f.name = name
    85  	return nil
    86  }
    87  func (f *fakeStorage) RemoveAll() error {
    88  	f.call = "RemoveAll"
    89  	return nil
    90  }