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  }