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 }