github.com/juju/juju@v0.0.0-20240430160146-1752b71fcf00/provider/maas/package_test.go (about) 1 // Copyright 2021 Canonical Ltd. 2 // Licensed under the AGPLv3, see LICENCE file for details. 3 4 package maas 5 6 import ( 7 "path/filepath" 8 "testing" 9 10 "github.com/juju/utils/v3" 11 gc "gopkg.in/check.v1" 12 13 "github.com/juju/juju/core/arch" 14 "github.com/juju/juju/environs/context" 15 sstesting "github.com/juju/juju/environs/simplestreams/testing" 16 envtesting "github.com/juju/juju/environs/testing" 17 envtools "github.com/juju/juju/environs/tools" 18 "github.com/juju/juju/juju/keys" 19 coretesting "github.com/juju/juju/testing" 20 "github.com/juju/juju/version" 21 ) 22 23 func TestPackage(t *testing.T) { 24 gc.TestingT(t) 25 } 26 27 type baseProviderSuite struct { 28 coretesting.FakeJujuXDGDataHomeSuite 29 envtesting.ToolsFixture 30 controllerUUID string 31 32 callCtx *context.CloudCallContext 33 invalidCredential bool 34 } 35 36 func (s *baseProviderSuite) setupFakeTools(c *gc.C) { 37 s.PatchValue(&keys.JujuPublicKey, sstesting.SignedMetadataPublicKey) 38 storageDir := c.MkDir() 39 toolsDir := filepath.Join(storageDir, "tools") 40 s.PatchValue(&envtools.DefaultBaseURL, utils.MakeFileURL(toolsDir)) 41 s.UploadFakeToolsToDirectory(c, storageDir, "released", "released") 42 } 43 44 func (s *baseProviderSuite) SetUpSuite(c *gc.C) { 45 s.FakeJujuXDGDataHomeSuite.SetUpSuite(c) 46 restoreFinishBootstrap := envtesting.DisableFinishBootstrap() 47 s.AddCleanup(func(*gc.C) { 48 restoreFinishBootstrap() 49 }) 50 } 51 52 func (s *baseProviderSuite) SetUpTest(c *gc.C) { 53 s.FakeJujuXDGDataHomeSuite.SetUpTest(c) 54 s.ToolsFixture.SetUpTest(c) 55 s.PatchValue(&version.Current, coretesting.FakeVersionNumber) 56 s.PatchValue(&arch.HostArch, func() string { return arch.AMD64 }) 57 s.callCtx = &context.CloudCallContext{ 58 InvalidateCredentialFunc: func(string) error { 59 s.invalidCredential = true 60 return nil 61 }, 62 } 63 } 64 65 func (s *baseProviderSuite) TearDownTest(c *gc.C) { 66 s.invalidCredential = false 67 s.ToolsFixture.TearDownTest(c) 68 s.FakeJujuXDGDataHomeSuite.TearDownTest(c) 69 } 70 71 func (s *baseProviderSuite) TearDownSuite(c *gc.C) { 72 s.FakeJujuXDGDataHomeSuite.TearDownSuite(c) 73 }