本文整理汇总了Golang中github.com/juju/version.MustParse函数的典型用法代码示例。如果您正苦于以下问题:Golang MustParse函数的具体用法?Golang MustParse怎么用?Golang MustParse使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了MustParse函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Golang代码示例。
示例1: TestPerformUpgrade
func (s *upgradeSuite) TestPerformUpgrade(c *gc.C) {
s.PatchValue(upgrades.StateUpgradeOperations, stateUpgradeOperations)
s.PatchValue(upgrades.UpgradeOperations, upgradeOperations)
for i, test := range upgradeTests {
c.Logf("%d: %s", i, test.about)
var messages []string
ctx := &mockContext{
messages: messages,
}
fromVersion := version.Zero
if test.fromVersion != "" {
fromVersion = version.MustParse(test.fromVersion)
}
toVersion := version.MustParse("1.18.0")
if test.toVersion != "" {
toVersion = version.MustParse(test.toVersion)
}
s.PatchValue(&jujuversion.Current, toVersion)
err := upgrades.PerformUpgrade(fromVersion, test.targets, ctx)
if test.err == "" {
c.Check(err, jc.ErrorIsNil)
} else {
c.Check(err, gc.ErrorMatches, test.err)
}
c.Check(ctx.messages, jc.DeepEquals, test.expectedSteps)
}
}
开发者ID:AlexisBruemmer,项目名称:juju,代码行数:27,代码来源:upgrade_test.go
示例2: TestFindToolsExactNotInStorage
func (s *toolsSuite) TestFindToolsExactNotInStorage(c *gc.C) {
mockToolsStorage := &mockToolsStorage{}
s.PatchValue(&jujuversion.Current, version.MustParse("1.22-beta1"))
s.testFindToolsExact(c, mockToolsStorage, false, true)
s.PatchValue(&jujuversion.Current, version.MustParse("1.22.0"))
s.testFindToolsExact(c, mockToolsStorage, false, false)
}
开发者ID:AlexisBruemmer,项目名称:juju,代码行数:7,代码来源:tools_test.go
示例3: TestModelInfo
func (s *ClientSuite) TestModelInfo(c *gc.C) {
var stub jujutesting.Stub
owner := names.NewUserTag("owner")
apiCaller := apitesting.APICallerFunc(func(objType string, v int, id, request string, arg, result interface{}) error {
stub.AddCall(objType+"."+request, id, arg)
*(result.(*params.MigrationModelInfo)) = params.MigrationModelInfo{
UUID: "uuid",
Name: "name",
OwnerTag: owner.String(),
AgentVersion: version.MustParse("1.2.3"),
}
return nil
})
client := migrationmaster.NewClient(apiCaller, nil)
model, err := client.ModelInfo()
stub.CheckCalls(c, []jujutesting.StubCall{
{"MigrationMaster.ModelInfo", []interface{}{"", nil}},
})
c.Check(err, jc.ErrorIsNil)
c.Check(model, jc.DeepEquals, migration.ModelInfo{
UUID: "uuid",
Name: "name",
Owner: owner,
AgentVersion: version.MustParse("1.2.3"),
})
}
开发者ID:bac,项目名称:juju,代码行数:26,代码来源:client_test.go
示例4: TestAbortCurrentUpgrade
func (s *serverSuite) TestAbortCurrentUpgrade(c *gc.C) {
// Create a provisioned controller.
machine, err := s.State.AddMachine("series", state.JobManageModel)
c.Assert(err, jc.ErrorIsNil)
err = machine.SetProvisioned(instance.Id("i-blah"), "fake-nonce", nil)
c.Assert(err, jc.ErrorIsNil)
// Start an upgrade.
_, err = s.State.EnsureUpgradeInfo(
machine.Id(),
version.MustParse("1.2.3"),
version.MustParse("9.8.7"),
)
c.Assert(err, jc.ErrorIsNil)
isUpgrading, err := s.State.IsUpgrading()
c.Assert(err, jc.ErrorIsNil)
c.Assert(isUpgrading, jc.IsTrue)
// Abort it.
err = s.client.AbortCurrentUpgrade()
c.Assert(err, jc.ErrorIsNil)
isUpgrading, err = s.State.IsUpgrading()
c.Assert(err, jc.ErrorIsNil)
c.Assert(isUpgrading, jc.IsFalse)
}
开发者ID:bac,项目名称:juju,代码行数:26,代码来源:client_test.go
示例5: TestBootstrapGUISuccessRemote
func (s *bootstrapSuite) TestBootstrapGUISuccessRemote(c *gc.C) {
s.PatchValue(bootstrap.GUIFetchMetadata, func(stream string, sources ...simplestreams.DataSource) ([]*gui.Metadata, error) {
c.Assert(stream, gc.Equals, gui.ReleasedStream)
c.Assert(sources[0].Description(), gc.Equals, "gui simplestreams")
c.Assert(sources[0].RequireSigned(), jc.IsTrue)
return []*gui.Metadata{{
Version: version.MustParse("2.0.42"),
FullPath: "https://1.2.3.4/juju-gui-2.0.42.tar.bz2",
SHA256: "hash-2.0.42",
Size: 42,
}, {
Version: version.MustParse("2.0.47"),
FullPath: "https://1.2.3.4/juju-gui-2.0.47.tar.bz2",
SHA256: "hash-2.0.47",
Size: 47,
}}, nil
})
env := newEnviron("foo", useDefaultKeys, nil)
ctx := coretesting.Context(c)
err := bootstrap.Bootstrap(modelcmd.BootstrapContext(ctx), env, bootstrap.BootstrapParams{
GUIDataSourceBaseURL: "https://1.2.3.4/gui/sources",
})
c.Assert(err, jc.ErrorIsNil)
c.Assert(coretesting.Stderr(ctx), jc.Contains, "Preparing for Juju GUI 2.0.42 release installation\n")
// The most recent GUI release info has been stored.
c.Assert(env.instanceConfig.GUI.URL, gc.Equals, "https://1.2.3.4/juju-gui-2.0.42.tar.bz2")
c.Assert(env.instanceConfig.GUI.Version.String(), gc.Equals, "2.0.42")
c.Assert(env.instanceConfig.GUI.Size, gc.Equals, int64(42))
c.Assert(env.instanceConfig.GUI.SHA256, gc.Equals, "hash-2.0.42")
}
开发者ID:makyo,项目名称:juju,代码行数:31,代码来源:bootstrap_test.go
示例6: TestGUIArchives
func (s *clientSuite) TestGUIArchives(c *gc.C) {
client := s.APIState.Client()
called := false
response := params.GUIArchiveResponse{
Versions: []params.GUIArchiveVersion{{
Version: version.MustParse("1.0.0"),
SHA256: "hash1",
Current: false,
}, {
Version: version.MustParse("2.0.0"),
SHA256: "hash2",
Current: true,
}},
}
// Set up a fake endpoint for tests.
defer fakeAPIEndpoint(c, client, "/gui-archive", "GET",
func(w http.ResponseWriter, req *http.Request) {
defer req.Body.Close()
called = true
sendJSONResponse(c, w, response)
},
).Close()
versions, err := client.GUIArchives()
c.Assert(err, jc.ErrorIsNil)
c.Assert(versions, jc.DeepEquals, response.Versions)
c.Assert(called, jc.IsTrue)
}
开发者ID:AlexisBruemmer,项目名称:juju,代码行数:29,代码来源:gui_test.go
示例7: TestHighVersion
func (*interfaceSuite) TestHighVersion(c *gc.C) {
read, err := readInterfaces(version.MustParse("2.1.9"), parseJSON(c, interfacesResponse))
c.Assert(err, jc.ErrorIsNil)
c.Assert(read, gc.HasLen, 1)
_, err = readInterface(version.MustParse("2.1.9"), parseJSON(c, interfaceResponse))
c.Assert(err, jc.ErrorIsNil)
}
开发者ID:voidspace,项目名称:gomaasapi,代码行数:7,代码来源:interface_test.go
示例8: TestWatchAPIVersion
func (s *machineUpgraderSuite) TestWatchAPIVersion(c *gc.C) {
w, err := s.st.WatchAPIVersion(s.rawMachine.Tag().String())
c.Assert(err, jc.ErrorIsNil)
wc := watchertest.NewNotifyWatcherC(c, w, s.BackingState.StartSync)
defer wc.AssertStops()
// Initial event
wc.AssertOneChange()
// One change noticing the new version
vers := version.MustParse("10.20.34")
err = statetesting.SetAgentVersion(s.BackingState, vers)
c.Assert(err, jc.ErrorIsNil)
wc.AssertOneChange()
// Setting the version to the same value doesn't trigger a change
err = statetesting.SetAgentVersion(s.BackingState, vers)
c.Assert(err, jc.ErrorIsNil)
wc.AssertNoChange()
// Another change noticing another new version
vers = version.MustParse("10.20.35")
err = statetesting.SetAgentVersion(s.BackingState, vers)
c.Assert(err, jc.ErrorIsNil)
wc.AssertOneChange()
}
开发者ID:AlexisBruemmer,项目名称:juju,代码行数:26,代码来源:upgrader_test.go
示例9: stateUpgradeOperations
func stateUpgradeOperations() []upgrades.Operation {
steps := []upgrades.Operation{
&mockUpgradeOperation{
targetVersion: version.MustParse("1.11.0"),
steps: []upgrades.Step{
newUpgradeStep("state step 1 - 1.11.0", upgrades.Controller),
newUpgradeStep("state step 2 error", upgrades.Controller),
newUpgradeStep("state step 3 - 1.11.0", upgrades.Controller),
},
},
&mockUpgradeOperation{
targetVersion: version.MustParse("1.21.0"),
steps: []upgrades.Step{
newUpgradeStep("state step 1 - 1.21.0", upgrades.DatabaseMaster),
newUpgradeStep("state step 2 - 1.21.0", upgrades.Controller),
},
},
&mockUpgradeOperation{
targetVersion: version.MustParse("1.22.0"),
steps: []upgrades.Step{
newUpgradeStep("state step 1 - 1.22.0", upgrades.DatabaseMaster),
newUpgradeStep("state step 2 - 1.22.0", upgrades.Controller),
},
},
}
return steps
}
开发者ID:AlexisBruemmer,项目名称:juju,代码行数:27,代码来源:upgrade_test.go
示例10: TestLowVersion
func (*interfaceSuite) TestLowVersion(c *gc.C) {
_, err := readInterfaces(version.MustParse("1.9.0"), parseJSON(c, interfacesResponse))
c.Assert(err, jc.Satisfies, IsUnsupportedVersionError)
c.Assert(err.Error(), gc.Equals, `no interface read func for version 1.9.0`)
_, err = readInterface(version.MustParse("1.9.0"), parseJSON(c, interfaceResponse))
c.Assert(err, jc.Satisfies, IsUnsupportedVersionError)
c.Assert(err.Error(), gc.Equals, `no interface read func for version 1.9.0`)
}
开发者ID:voidspace,项目名称:gomaasapi,代码行数:9,代码来源:interface_test.go
示例11: TestBlockUpgradeJujuWithRealUpload
func (s *UpgradeJujuSuite) TestBlockUpgradeJujuWithRealUpload(c *gc.C) {
s.Reset(c)
s.PatchValue(&jujuversion.Current, version.MustParse("1.99.99"))
cmd := newUpgradeJujuCommand(map[int]version.Number{2: version.MustParse("1.99.99")})
// Block operation
s.BlockAllChanges(c, "TestBlockUpgradeJujuWithRealUpload")
_, err := coretesting.RunCommand(c, cmd, "--build-agent")
coretesting.AssertOperationWasBlocked(c, err, ".*TestBlockUpgradeJujuWithRealUpload.*")
}
开发者ID:bac,项目名称:juju,代码行数:9,代码来源:upgradejuju_test.go
示例12: TestPreferredStream
func (s *SimpleStreamsToolsSuite) TestPreferredStream(c *gc.C) {
for i, test := range preferredStreamTests {
c.Logf("\ntest %d", i)
s.PatchValue(&jujuversion.Current, version.MustParse(test.currentVers))
var vers *version.Number
if test.explicitVers != "" {
v := version.MustParse(test.explicitVers)
vers = &v
}
obtained := envtools.PreferredStream(vers, test.forceDevel, test.streamInConfig)
c.Check(obtained, gc.Equals, test.expected)
}
}
开发者ID:makyo,项目名称:juju,代码行数:13,代码来源:tools_test.go
示例13: TestUpgradeJujuWithRealUpload
func (s *UpgradeJujuSuite) TestUpgradeJujuWithRealUpload(c *gc.C) {
s.Reset(c)
s.PatchValue(&jujuversion.Current, version.MustParse("1.99.99"))
cmd := newUpgradeJujuCommand(map[int]version.Number{2: version.MustParse("1.99.99")})
_, err := coretesting.RunCommand(c, cmd, "--build-agent")
c.Assert(err, jc.ErrorIsNil)
vers := version.Binary{
Number: jujuversion.Current,
Arch: arch.HostArch(),
Series: series.HostSeries(),
}
vers.Build = 1
s.checkToolsUploaded(c, vers, vers.Number)
}
开发者ID:bac,项目名称:juju,代码行数:14,代码来源:upgradejuju_test.go
示例14: TestClientAgentVersion
func (s *clientSuite) TestClientAgentVersion(c *gc.C) {
current := version.MustParse("1.2.0")
s.PatchValue(&jujuversion.Current, current)
result, err := s.APIState.Client().AgentVersion()
c.Assert(err, jc.ErrorIsNil)
c.Assert(result, gc.Equals, current)
}
开发者ID:bac,项目名称:juju,代码行数:7,代码来源:client_test.go
示例15: TestFindAvailableToolsSpecificVersion
func (s *toolsSuite) TestFindAvailableToolsSpecificVersion(c *gc.C) {
currentVersion := version.Binary{
Number: jujuversion.Current,
Arch: arch.HostArch(),
Series: series.HostSeries(),
}
currentVersion.Major = 2
currentVersion.Minor = 3
s.PatchValue(&jujuversion.Current, currentVersion.Number)
var findToolsCalled int
s.PatchValue(bootstrap.FindTools, func(_ environs.Environ, major, minor int, stream string, f tools.Filter) (tools.List, error) {
c.Assert(f.Number.Major, gc.Equals, 10)
c.Assert(f.Number.Minor, gc.Equals, 11)
c.Assert(f.Number.Patch, gc.Equals, 12)
c.Assert(stream, gc.Equals, "released")
findToolsCalled++
return []*tools.Tools{
&tools.Tools{
Version: currentVersion,
URL: "http://testing.invalid/tools.tar.gz",
},
}, nil
})
env := newEnviron("foo", useDefaultKeys, nil)
toolsVersion := version.MustParse("10.11.12")
result, err := bootstrap.FindAvailableTools(env, &toolsVersion, nil, nil, false)
c.Assert(err, jc.ErrorIsNil)
c.Assert(findToolsCalled, gc.Equals, 1)
c.Assert(result, jc.DeepEquals, tools.List{
&tools.Tools{
Version: currentVersion,
URL: "http://testing.invalid/tools.tar.gz",
},
})
}
开发者ID:AlexisBruemmer,项目名称:juju,代码行数:35,代码来源:tools_test.go
示例16: TestStateStepsNotAttemptedWhenNoStateTarget
func (s *upgradeSuite) TestStateStepsNotAttemptedWhenNoStateTarget(c *gc.C) {
stateCount := 0
stateUpgradeOperations := func() []upgrades.Operation {
stateCount++
return nil
}
s.PatchValue(upgrades.StateUpgradeOperations, stateUpgradeOperations)
apiCount := 0
upgradeOperations := func() []upgrades.Operation {
apiCount++
return nil
}
s.PatchValue(upgrades.UpgradeOperations, upgradeOperations)
fromVers := version.MustParse("1.18.0")
ctx := new(mockContext)
check := func(target upgrades.Target, expectedStateCallCount int) {
stateCount = 0
apiCount = 0
err := upgrades.PerformUpgrade(fromVers, targets(target), ctx)
c.Assert(err, jc.ErrorIsNil)
c.Assert(stateCount, gc.Equals, expectedStateCallCount)
c.Assert(apiCount, gc.Equals, 1)
}
check(upgrades.Controller, 1)
check(upgrades.DatabaseMaster, 1)
check(upgrades.AllMachines, 0)
check(upgrades.HostMachine, 0)
}
开发者ID:AlexisBruemmer,项目名称:juju,代码行数:31,代码来源:upgrade_test.go
示例17: TestVersionLessThanSource
func (s *TargetPrecheckSuite) TestVersionLessThanSource(c *gc.C) {
backend := newFakeBackend()
s.modelInfo.AgentVersion = version.MustParse("1.2.4")
err := migration.TargetPrecheck(backend, s.modelInfo)
c.Assert(err.Error(), gc.Equals,
`model has higher version than target controller (1.2.4 > 1.2.3)`)
}
开发者ID:bac,项目名称:juju,代码行数:7,代码来源:precheck_test.go
示例18: TestUploadGUIArchive
func (s *clientSuite) TestUploadGUIArchive(c *gc.C) {
client := s.APIState.Client()
called := false
archive := []byte("archive content")
hash, size, vers := "archive-hash", int64(len(archive)), version.MustParse("2.1.0")
// Set up a fake endpoint for tests.
defer fakeAPIEndpoint(c, client, "/gui-archive", "POST",
func(w http.ResponseWriter, req *http.Request) {
defer req.Body.Close()
called = true
err := req.ParseForm()
c.Assert(err, jc.ErrorIsNil)
// Check version and content length.
c.Assert(req.Form.Get("version"), gc.Equals, vers.String())
c.Assert(req.ContentLength, gc.Equals, size)
// Check request body.
obtainedArchive, err := ioutil.ReadAll(req.Body)
c.Assert(err, jc.ErrorIsNil)
c.Assert(obtainedArchive, gc.DeepEquals, archive)
// Check hash.
h := req.Form.Get("hash")
c.Assert(h, gc.Equals, hash)
// Send the response.
sendJSONResponse(c, w, params.GUIArchiveVersion{
Current: true,
})
},
).Close()
current, err := client.UploadGUIArchive(bytes.NewReader(archive), hash, size, vers)
c.Assert(err, jc.ErrorIsNil)
c.Assert(current, jc.IsTrue)
c.Assert(called, jc.IsTrue)
}
开发者ID:AlexisBruemmer,项目名称:juju,代码行数:35,代码来源:gui_test.go
示例19: TestUploadGUIArchive
func (s *Suite) TestUploadGUIArchive(c *gc.C) {
archive := []byte("archive content")
hash, size, vers := "archive-hash", int64(len(archive)), version.MustParse("2.1.0")
withHTTPClient(c, "/gui-archive", "POST", func(w http.ResponseWriter, req *http.Request) {
defer req.Body.Close()
err := req.ParseForm()
c.Assert(err, jc.ErrorIsNil)
// Check version and content length.
c.Assert(req.Form.Get("version"), gc.Equals, vers.String())
c.Assert(req.ContentLength, gc.Equals, size)
// Check request body.
obtainedArchive, err := ioutil.ReadAll(req.Body)
c.Assert(err, jc.ErrorIsNil)
c.Assert(obtainedArchive, gc.DeepEquals, archive)
// Check hash.
h := req.Form.Get("hash")
c.Assert(h, gc.Equals, hash)
// Send the response.
sendJSONResponse(c, w, params.GUIArchiveVersion{
Current: true,
})
}, func(client *controller.Client) {
// Upload a new Juju GUI archive.
current, err := client.UploadGUIArchive(bytes.NewReader(archive), hash, size, vers)
c.Assert(err, jc.ErrorIsNil)
c.Assert(current, jc.IsTrue)
})
}
开发者ID:bac,项目名称:juju,代码行数:28,代码来源:gui_test.go
示例20: setUpTest
func (s *syncSuite) setUpTest(c *gc.C) {
if runtime.GOOS == "windows" {
c.Skip("issue 1403084: Currently does not work because of jujud problems")
}
s.FakeJujuXDGDataHomeSuite.SetUpTest(c)
s.ToolsFixture.SetUpTest(c)
// It's important that this be v1.8.x to match the test data.
s.PatchValue(&jujuversion.Current, version.MustParse("1.8.3"))
// Create a source storage.
baseDir := c.MkDir()
stor, err := filestorage.NewFileStorageWriter(baseDir)
c.Assert(err, jc.ErrorIsNil)
s.storage = stor
// Create a local tools directory.
s.localStorage = c.MkDir()
// Populate both local and default tools locations with the public tools.
versionStrings := make([]string, len(vAll))
for i, vers := range vAll {
versionStrings[i] = vers.String()
}
toolstesting.MakeTools(c, baseDir, "released", versionStrings)
toolstesting.MakeTools(c, s.localStorage, "released", versionStrings)
// Switch the default tools location.
baseURL, err := s.storage.URL(storage.BaseToolsPath)
c.Assert(err, jc.ErrorIsNil)
s.PatchValue(&envtools.DefaultBaseURL, baseURL)
}
开发者ID:bac,项目名称:juju,代码行数:32,代码来源:sync_test.go
注:本文中的github.com/juju/version.MustParse函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论