本文整理汇总了Golang中github.com/juju/juju/environs/tools.NewVersionedToolsConstraint函数的典型用法代码示例。如果您正苦于以下问题:Golang NewVersionedToolsConstraint函数的具体用法?Golang NewVersionedToolsConstraint怎么用?Golang NewVersionedToolsConstraint使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了NewVersionedToolsConstraint函数的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: TestIndexIdNoStream
func (s *productSpecSuite) TestIndexIdNoStream(c *gc.C) {
toolsConstraint := tools.NewVersionedToolsConstraint(version.MustParse("1.13.0"), simplestreams.LookupParams{
Series: []string{"precise"},
Arches: []string{"amd64"},
})
ids := toolsConstraint.IndexIds()
c.Assert(ids, gc.HasLen, 0)
}
示例2: TestProductId
func (s *productSpecSuite) TestProductId(c *gc.C) {
toolsConstraint := tools.NewVersionedToolsConstraint(version.MustParse("1.13.0"), simplestreams.LookupParams{
Series: []string{"precise"},
Arches: []string{"amd64"},
})
ids, err := toolsConstraint.ProductIds()
c.Assert(err, jc.ErrorIsNil)
c.Assert(ids, gc.DeepEquals, []string{"com.ubuntu.juju:12.04:amd64"})
}
示例3: TestIndexId
func (s *productSpecSuite) TestIndexId(c *gc.C) {
toolsConstraint := tools.NewVersionedToolsConstraint(version.MustParse("1.13.0"), simplestreams.LookupParams{
Series: []string{"precise"},
Arches: []string{"amd64"},
Stream: "proposed",
})
ids := toolsConstraint.IndexIds()
c.Assert(ids, gc.DeepEquals, []string{"com.ubuntu.juju:proposed:tools"})
}
示例4: TestIdIgnoresInvalidSeries
func (s *productSpecSuite) TestIdIgnoresInvalidSeries(c *gc.C) {
toolsConstraint := tools.NewVersionedToolsConstraint(version.MustParse("1.11.3"), simplestreams.LookupParams{
Series: []string{"precise", "foobar"},
Arches: []string{"amd64"},
Stream: "released",
})
ids, err := toolsConstraint.ProductIds()
c.Assert(err, jc.ErrorIsNil)
c.Assert(ids, gc.DeepEquals, []string{"com.ubuntu.juju:12.04:amd64"})
}
示例5: registerSimpleStreamsTests
func registerSimpleStreamsTests() {
gc.Suite(&simplestreamsSuite{
LocalLiveSimplestreamsSuite: sstesting.LocalLiveSimplestreamsSuite{
Source: simplestreams.NewURLDataSource("test", "test:", utils.VerifySSLHostnames),
RequireSigned: false,
DataType: tools.ContentDownload,
ValidConstraint: tools.NewVersionedToolsConstraint(version.MustParse("1.13.0"), simplestreams.LookupParams{
CloudSpec: simplestreams.CloudSpec{
Region: "us-east-1",
Endpoint: "https://ec2.us-east-1.amazonaws.com",
},
Series: []string{"precise"},
Arches: []string{"amd64", "arm"},
}),
},
})
gc.Suite(&signedSuite{})
}
示例6: TestFetch
func (s *simplestreamsSuite) TestFetch(c *gc.C) {
for i, t := range fetchTests {
c.Logf("test %d", i)
if t.stream == "" {
t.stream = "released"
}
var toolsConstraint *tools.ToolsConstraint
if t.version == "" {
toolsConstraint = tools.NewGeneralToolsConstraint(t.major, t.minor, simplestreams.LookupParams{
CloudSpec: simplestreams.CloudSpec{"us-east-1", "https://ec2.us-east-1.amazonaws.com"},
Series: []string{t.series},
Arches: t.arches,
Stream: t.stream,
})
} else {
toolsConstraint = tools.NewVersionedToolsConstraint(version.MustParse(t.version),
simplestreams.LookupParams{
CloudSpec: simplestreams.CloudSpec{"us-east-1", "https://ec2.us-east-1.amazonaws.com"},
Series: []string{t.series},
Arches: t.arches,
Stream: t.stream,
})
}
// Add invalid datasource and check later that resolveInfo is correct.
invalidSource := simplestreams.NewURLDataSource("invalid", "file://invalid", utils.VerifySSLHostnames, simplestreams.DEFAULT_CLOUD_DATA, s.RequireSigned)
tools, resolveInfo, err := tools.Fetch(
[]simplestreams.DataSource{invalidSource, s.Source}, toolsConstraint)
if !c.Check(err, jc.ErrorIsNil) {
continue
}
for _, tm := range t.tools {
tm.FullPath, err = s.Source.URL(tm.Path)
c.Assert(err, jc.ErrorIsNil)
}
c.Check(tools, gc.DeepEquals, t.tools)
c.Check(resolveInfo, gc.DeepEquals, &simplestreams.ResolveInfo{
Source: "test",
Signed: s.RequireSigned,
IndexURL: "test:/streams/v1/index.json",
MirrorURL: "",
})
}
}
示例7: TestSignedToolsMetadata
func (s *signedSuite) TestSignedToolsMetadata(c *gc.C) {
signedSource := simplestreams.NewURLDataSource("test", "signedtest://host/signed", utils.VerifySSLHostnames)
toolsConstraint := tools.NewVersionedToolsConstraint(version.MustParse("1.13.0"), simplestreams.LookupParams{
CloudSpec: simplestreams.CloudSpec{"us-east-1", "https://ec2.us-east-1.amazonaws.com"},
Series: []string{"precise"},
Arches: []string{"amd64"},
})
toolsMetadata, resolveInfo, err := tools.Fetch(
[]simplestreams.DataSource{signedSource}, simplestreams.DefaultIndexPath, toolsConstraint, true)
c.Assert(err, gc.IsNil)
c.Assert(len(toolsMetadata), gc.Equals, 1)
c.Assert(toolsMetadata[0].Path, gc.Equals, "tools/releases/20130806/juju-1.13.1-precise-amd64.tgz")
c.Assert(resolveInfo, gc.DeepEquals, &simplestreams.ResolveInfo{
Source: "test",
Signed: true,
IndexURL: "signedtest://host/signed/streams/v1/index.sjson",
MirrorURL: "",
})
}
示例8: setupSimpleStreamsTests
func setupSimpleStreamsTests(t *testing.T) {
if *live {
if *vendor == "" {
t.Fatal("missing vendor")
}
var ok bool
var testData liveTestData
if testData, ok = liveUrls[*vendor]; !ok {
keys := reflect.ValueOf(liveUrls).MapKeys()
t.Fatalf("Unknown vendor %s. Must be one of %s", *vendor, keys)
}
registerLiveSimpleStreamsTests(testData.baseURL,
tools.NewVersionedToolsConstraint(version.MustParse("1.13.0"), simplestreams.LookupParams{
CloudSpec: testData.validCloudSpec,
Series: []string{version.Current.Series},
Arches: []string{"amd64"},
}), testData.requireSigned)
}
registerSimpleStreamsTests()
}