本文整理汇总了Golang中github.com/juju/utils.MustNewUUID函数的典型用法代码示例。如果您正苦于以下问题:Golang MustNewUUID函数的具体用法?Golang MustNewUUID怎么用?Golang MustNewUUID使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了MustNewUUID函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: TestUnitMetricBatchesReturnsJustLocal
func (s *MetricSuite) TestUnitMetricBatchesReturnsJustLocal(c *gc.C) {
now := state.NowToTheSecond()
m := state.Metric{"pings", "5", now}
_, err := s.State.AddMetrics(
state.BatchParam{
UUID: utils.MustNewUUID().String(),
Created: now,
CharmURL: s.meteredCharm.URL().String(),
Metrics: []state.Metric{m},
Unit: s.unit.UnitTag(),
},
)
c.Assert(err, jc.ErrorIsNil)
localMeteredCharm := s.Factory.MakeCharm(c, &factory.CharmParams{Name: "metered", URL: "local:quantal/metered"})
service := s.Factory.MakeService(c, &factory.ServiceParams{Name: "localmetered", Charm: localMeteredCharm})
unit := s.Factory.MakeUnit(c, &factory.UnitParams{Service: service, SetCharmURL: true})
_, err = s.State.AddMetrics(
state.BatchParam{
UUID: utils.MustNewUUID().String(),
Created: now,
CharmURL: localMeteredCharm.URL().String(),
Metrics: []state.Metric{m},
Unit: unit.UnitTag(),
},
)
c.Assert(err, jc.ErrorIsNil)
metricBatches, err := s.State.MetricBatchesForUnit("metered/0")
c.Assert(metricBatches, gc.HasLen, 0)
metricBatches, err = s.State.MetricBatchesForUnit("localmetered/0")
c.Assert(metricBatches, gc.HasLen, 1)
}
示例2: TestCleanupMetrics
func (s *MetricSuite) TestCleanupMetrics(c *gc.C) {
oldTime := time.Now().Add(-(time.Hour * 25))
m := state.Metric{"pings", "5", oldTime}
oldMetric1, err := s.unit.AddMetrics(utils.MustNewUUID().String(), oldTime, "", []state.Metric{m})
c.Assert(err, jc.ErrorIsNil)
oldMetric1.SetSent()
oldMetric2, err := s.unit.AddMetrics(utils.MustNewUUID().String(), oldTime, "", []state.Metric{m})
c.Assert(err, jc.ErrorIsNil)
oldMetric2.SetSent()
now := time.Now()
m = state.Metric{"pings", "5", now}
newMetric, err := s.unit.AddMetrics(utils.MustNewUUID().String(), now, "", []state.Metric{m})
c.Assert(err, jc.ErrorIsNil)
newMetric.SetSent()
err = s.State.CleanupOldMetrics()
c.Assert(err, jc.ErrorIsNil)
_, err = s.State.MetricBatch(newMetric.UUID())
c.Assert(err, jc.ErrorIsNil)
_, err = s.State.MetricBatch(oldMetric1.UUID())
c.Assert(err, jc.Satisfies, errors.IsNotFound)
_, err = s.State.MetricBatch(oldMetric2.UUID())
c.Assert(err, jc.Satisfies, errors.IsNotFound)
}
示例3: TestUpdateEnvInfo
func (s *OpenSuite) TestUpdateEnvInfo(c *gc.C) {
store := jujuclienttesting.NewMemStore()
ctx := envtesting.BootstrapContext(c)
cfg, err := config.New(config.UseDefaults, map[string]interface{}{
"type": "dummy",
"name": "admin-model",
"controller-uuid": utils.MustNewUUID().String(),
"uuid": utils.MustNewUUID().String(),
})
c.Assert(err, jc.ErrorIsNil)
_, err = environs.Prepare(ctx, store, environs.PrepareParams{
ControllerName: "controller-name",
BaseConfig: cfg.AllAttrs(),
CloudName: "dummy",
})
c.Assert(err, jc.ErrorIsNil)
foundController, err := store.ControllerByName("controller-name")
c.Assert(err, jc.ErrorIsNil)
c.Assert(foundController.ControllerUUID, gc.Equals, cfg.ControllerUUID())
c.Assert(foundController.CACert, gc.Not(gc.Equals), "")
foundModel, err := store.ModelByName("controller-name", "[email protected]", "admin-model")
c.Assert(err, jc.ErrorIsNil)
c.Assert(foundModel, jc.DeepEquals, &jujuclient.ModelDetails{
ModelUUID: cfg.UUID(),
})
}
示例4: TestUnitMetricBatchesReturnsAllCharms
func (s *MetricLocalCharmSuite) TestUnitMetricBatchesReturnsAllCharms(c *gc.C) {
now := s.State.NowToTheSecond()
m := state.Metric{"pings", "5", now}
_, err := s.State.AddMetrics(
state.BatchParam{
UUID: utils.MustNewUUID().String(),
Created: now,
CharmURL: s.meteredCharm.URL().String(),
Metrics: []state.Metric{m},
Unit: s.unit.UnitTag(),
},
)
c.Assert(err, jc.ErrorIsNil)
csMeteredCharm := s.Factory.MakeCharm(c, &factory.CharmParams{Name: "metered", URL: "cs:quantal/metered"})
application := s.Factory.MakeApplication(c, &factory.ApplicationParams{Name: "csmetered", Charm: csMeteredCharm})
unit := s.Factory.MakeUnit(c, &factory.UnitParams{Application: application, SetCharmURL: true})
_, err = s.State.AddMetrics(
state.BatchParam{
UUID: utils.MustNewUUID().String(),
Created: now,
CharmURL: csMeteredCharm.URL().String(),
Metrics: []state.Metric{m},
Unit: unit.UnitTag(),
},
)
c.Assert(err, jc.ErrorIsNil)
metricBatches, err := s.State.MetricBatchesForUnit("metered/0")
c.Assert(metricBatches, gc.HasLen, 1)
metricBatches, err = s.State.MetricBatchesForUnit("csmetered/0")
c.Assert(metricBatches, gc.HasLen, 1)
}
示例5: TestAuthAndActionFromTagFn
func (s *actionsSuite) TestAuthAndActionFromTagFn(c *gc.C) {
notFoundActionTag := names.NewActionTag(utils.MustNewUUID().String())
authorizedActionTag := names.NewActionTag(utils.MustNewUUID().String())
authorizedMachineTag := names.NewMachineTag("1")
authorizedAction := fakeAction{name: "action1", receiver: authorizedMachineTag.Id()}
unauthorizedActionTag := names.NewActionTag(utils.MustNewUUID().String())
unauthorizedMachineTag := names.NewMachineTag("10")
unauthorizedAction := fakeAction{name: "action2", receiver: unauthorizedMachineTag.Id()}
invalidReceiverActionTag := names.NewActionTag(utils.MustNewUUID().String())
invalidReceiverAction := fakeAction{name: "action2", receiver: "masterexploder"}
canAccess := makeCanAccess(map[names.Tag]bool{
authorizedMachineTag: true,
})
getActionByTag := makeGetActionByTag(map[names.ActionTag]state.Action{
authorizedActionTag: authorizedAction,
unauthorizedActionTag: unauthorizedAction,
invalidReceiverActionTag: invalidReceiverAction,
})
tagFn := common.AuthAndActionFromTagFn(canAccess, getActionByTag)
for i, test := range []struct {
tag string
errString string
err error
expectedAction state.Action
}{{
tag: "invalid-action-tag",
errString: `"invalid-action-tag" is not a valid tag`,
}, {
tag: notFoundActionTag.String(),
errString: "action not found",
}, {
tag: invalidReceiverActionTag.String(),
errString: `invalid actionreceiver name "masterexploder"`,
}, {
tag: unauthorizedActionTag.String(),
err: common.ErrPerm,
}, {
tag: authorizedActionTag.String(),
expectedAction: authorizedAction,
}} {
c.Logf("test %d", i)
action, err := tagFn(test.tag)
if test.errString != "" {
c.Check(err, gc.ErrorMatches, test.errString)
c.Check(action, gc.IsNil)
} else if test.err != nil {
c.Check(err, gc.Equals, test.err)
c.Check(action, gc.IsNil)
} else {
c.Check(err, jc.ErrorIsNil)
c.Check(action, gc.Equals, action)
}
}
}
示例6: TestMetricsAcrossEnvironments
func (s *MetricSuite) TestMetricsAcrossEnvironments(c *gc.C) {
now := state.NowToTheSecond().Add(-48 * time.Hour)
m := state.Metric{"pings", "5", now}
m1, err := s.State.AddMetrics(
state.BatchParam{
UUID: utils.MustNewUUID().String(),
Created: now,
CharmURL: s.meteredCharm.URL().String(),
Metrics: []state.Metric{m},
Unit: s.unit.UnitTag(),
},
)
c.Assert(err, jc.ErrorIsNil)
st := s.Factory.MakeEnvironment(c, nil)
defer st.Close()
f := factory.NewFactory(st)
meteredCharm := f.MakeCharm(c, &factory.CharmParams{Name: "metered", URL: "cs:quantal/metered"})
service := f.MakeService(c, &factory.ServiceParams{Charm: meteredCharm})
unit := f.MakeUnit(c, &factory.UnitParams{Service: service, SetCharmURL: true})
m2, err := s.State.AddMetrics(
state.BatchParam{
UUID: utils.MustNewUUID().String(),
Created: now,
CharmURL: s.meteredCharm.URL().String(),
Metrics: []state.Metric{m},
Unit: unit.UnitTag(),
},
)
c.Assert(err, jc.ErrorIsNil)
batches, err := s.State.MetricBatches()
c.Assert(err, jc.ErrorIsNil)
c.Assert(batches, gc.HasLen, 2)
unsent, err := s.State.CountOfUnsentMetrics()
c.Assert(err, jc.ErrorIsNil)
c.Assert(unsent, gc.Equals, 2)
toSend, err := s.State.MetricsToSend(10)
c.Assert(err, jc.ErrorIsNil)
c.Assert(toSend, gc.HasLen, 2)
err = m1.SetSent(time.Now().Add(-25 * time.Hour))
c.Assert(err, jc.ErrorIsNil)
err = m2.SetSent(time.Now().Add(-25 * time.Hour))
c.Assert(err, jc.ErrorIsNil)
sent, err := s.State.CountOfSentMetrics()
c.Assert(err, jc.ErrorIsNil)
c.Assert(sent, gc.Equals, 2)
err = s.State.CleanupOldMetrics()
c.Assert(err, jc.ErrorIsNil)
batches, err = s.State.MetricBatches()
c.Assert(err, jc.ErrorIsNil)
c.Assert(batches, gc.HasLen, 0)
}
示例7: TestMetricsAcrossEnvironments
func (s *CrossModelMetricSuite) TestMetricsAcrossEnvironments(c *gc.C) {
now := s.State.NowToTheSecond().Add(-48 * time.Hour)
m := state.Metric{"pings", "5", now}
m1, err := s.models[0].state.AddMetrics(
state.BatchParam{
UUID: utils.MustNewUUID().String(),
Created: now,
CharmURL: s.models[0].meteredCharm.URL().String(),
Metrics: []state.Metric{m},
Unit: s.models[0].unit.UnitTag(),
},
)
c.Assert(err, jc.ErrorIsNil)
m2, err := s.models[1].state.AddMetrics(
state.BatchParam{
UUID: utils.MustNewUUID().String(),
Created: now,
CharmURL: s.models[1].meteredCharm.URL().String(),
Metrics: []state.Metric{m},
Unit: s.models[1].unit.UnitTag(),
},
)
c.Assert(err, jc.ErrorIsNil)
batches, err := s.State.AllMetricBatches()
c.Assert(err, jc.ErrorIsNil)
c.Assert(batches, gc.HasLen, 2)
unsent, err := s.models[0].state.CountOfUnsentMetrics()
c.Assert(err, jc.ErrorIsNil)
c.Assert(unsent, gc.Equals, 1)
toSend, err := s.models[0].state.MetricsToSend(10)
c.Assert(err, jc.ErrorIsNil)
c.Assert(toSend, gc.HasLen, 1)
err = m1.SetSent(testing.NonZeroTime().Add(-25 * time.Hour))
c.Assert(err, jc.ErrorIsNil)
err = m2.SetSent(testing.NonZeroTime().Add(-25 * time.Hour))
c.Assert(err, jc.ErrorIsNil)
sent, err := s.models[0].state.CountOfSentMetrics()
c.Assert(err, jc.ErrorIsNil)
c.Assert(sent, gc.Equals, 1)
err = s.models[0].state.CleanupOldMetrics()
c.Assert(err, jc.ErrorIsNil)
// The metric from model s.models[1] should still be in place.
batches, err = s.State.AllMetricBatches()
c.Assert(err, jc.ErrorIsNil)
c.Assert(batches, gc.HasLen, 1)
}
示例8: TestCleanupMetrics
func (s *MetricSuite) TestCleanupMetrics(c *gc.C) {
oldTime := time.Now().Add(-(time.Hour * 25))
now := time.Now()
m := state.Metric{"pings", "5", oldTime}
oldMetric1, err := s.State.AddMetrics(
state.BatchParam{
UUID: utils.MustNewUUID().String(),
Created: now,
CharmURL: s.meteredCharm.URL().String(),
Metrics: []state.Metric{m},
Unit: s.unit.UnitTag(),
},
)
c.Assert(err, jc.ErrorIsNil)
oldMetric1.SetSent(time.Now().Add(-25 * time.Hour))
oldMetric2, err := s.State.AddMetrics(
state.BatchParam{
UUID: utils.MustNewUUID().String(),
Created: now,
CharmURL: s.meteredCharm.URL().String(),
Metrics: []state.Metric{m},
Unit: s.unit.UnitTag(),
},
)
c.Assert(err, jc.ErrorIsNil)
oldMetric2.SetSent(time.Now().Add(-25 * time.Hour))
m = state.Metric{"pings", "5", now}
newMetric, err := s.State.AddMetrics(
state.BatchParam{
UUID: utils.MustNewUUID().String(),
Created: now,
CharmURL: s.meteredCharm.URL().String(),
Metrics: []state.Metric{m},
Unit: s.unit.UnitTag(),
},
)
c.Assert(err, jc.ErrorIsNil)
newMetric.SetSent(time.Now())
err = s.State.CleanupOldMetrics()
c.Assert(err, jc.ErrorIsNil)
_, err = s.State.MetricBatch(newMetric.UUID())
c.Assert(err, jc.ErrorIsNil)
_, err = s.State.MetricBatch(oldMetric1.UUID())
c.Assert(err, jc.Satisfies, errors.IsNotFound)
_, err = s.State.MetricBatch(oldMetric2.UUID())
c.Assert(err, jc.Satisfies, errors.IsNotFound)
}
示例9: TestMigrationStatus
func (s *ClientSuite) TestMigrationStatus(c *gc.C) {
mac, err := macaroon.New([]byte("secret"), "id", "location")
c.Assert(err, jc.ErrorIsNil)
macs := []macaroon.Slice{{mac}}
macsJSON, err := json.Marshal(macs)
c.Assert(err, jc.ErrorIsNil)
modelUUID := utils.MustNewUUID().String()
controllerUUID := utils.MustNewUUID().String()
controllerTag := names.NewControllerTag(controllerUUID)
timestamp := time.Date(2016, 6, 22, 16, 42, 44, 0, time.UTC)
apiCaller := apitesting.APICallerFunc(func(_ string, _ int, _, _ string, _, result interface{}) error {
out := result.(*params.MasterMigrationStatus)
*out = params.MasterMigrationStatus{
Spec: params.MigrationSpec{
ModelTag: names.NewModelTag(modelUUID).String(),
TargetInfo: params.MigrationTargetInfo{
ControllerTag: controllerTag.String(),
Addrs: []string{"2.2.2.2:2"},
CACert: "cert",
AuthTag: names.NewUserTag("admin").String(),
Password: "secret",
Macaroons: string(macsJSON),
},
ExternalControl: true,
},
MigrationId: "id",
Phase: "IMPORT",
PhaseChangedTime: timestamp,
}
return nil
})
client := migrationmaster.NewClient(apiCaller, nil)
status, err := client.MigrationStatus()
c.Assert(err, jc.ErrorIsNil)
c.Assert(status, gc.DeepEquals, migration.MigrationStatus{
MigrationId: "id",
ModelUUID: modelUUID,
Phase: migration.IMPORT,
PhaseChangedTime: timestamp,
ExternalControl: true,
TargetInfo: migration.TargetInfo{
ControllerTag: controllerTag,
Addrs: []string{"2.2.2.2:2"},
CACert: "cert",
AuthTag: names.NewUserTag("admin"),
Password: "secret",
Macaroons: macs,
},
})
}
示例10: TestMetricsSorted
func (s *MetricLocalCharmSuite) TestMetricsSorted(c *gc.C) {
newUnit, err := s.application.AddUnit()
c.Assert(err, jc.ErrorIsNil)
t0 := time.Date(2016, time.August, 16, 16, 00, 35, 0, time.Local)
var times []time.Time
for i := 0; i < 3; i++ {
times = append(times, t0.Add(time.Minute*time.Duration(i)))
}
for _, t := range times {
_, err := s.State.AddMetrics(
state.BatchParam{
UUID: utils.MustNewUUID().String(),
Created: t,
CharmURL: s.meteredCharm.URL().String(),
Metrics: []state.Metric{{"pings", "5", t}},
Unit: s.unit.UnitTag(),
},
)
c.Assert(err, jc.ErrorIsNil)
_, err = s.State.AddMetrics(
state.BatchParam{
UUID: utils.MustNewUUID().String(),
Created: t,
CharmURL: s.meteredCharm.URL().String(),
Metrics: []state.Metric{{"pings", "10", t}},
Unit: newUnit.UnitTag(),
},
)
c.Assert(err, jc.ErrorIsNil)
}
metricBatches, err := s.State.MetricBatchesForUnit("metered/0")
c.Assert(err, jc.ErrorIsNil)
assertMetricBatchesTimeAscending(c, metricBatches)
metricBatches, err = s.State.MetricBatchesForUnit("metered/1")
c.Assert(err, jc.ErrorIsNil)
assertMetricBatchesTimeAscending(c, metricBatches)
metricBatches, err = s.State.MetricBatchesForApplication("metered")
c.Assert(err, jc.ErrorIsNil)
assertMetricBatchesTimeAscending(c, metricBatches)
metricBatches, err = s.State.MetricBatchesForModel()
c.Assert(err, jc.ErrorIsNil)
assertMetricBatchesTimeAscending(c, metricBatches)
}
示例11: MakeMetric
// MakeMetric makes a metric with specified params, filling in
// sane defaults for missing values.
// If params is not specified, defaults are used.
func (factory *Factory) MakeMetric(c *gc.C, params *MetricParams) *state.MetricBatch {
now := time.Now().Round(time.Second).UTC()
if params == nil {
params = &MetricParams{}
}
if params.Unit == nil {
meteredCharm := factory.MakeCharm(c, &CharmParams{Name: "metered", URL: "cs:quantal/metered"})
meteredService := factory.MakeService(c, &ServiceParams{Charm: meteredCharm})
params.Unit = factory.MakeUnit(c, &UnitParams{Service: meteredService, SetCharmURL: true})
}
if params.Time == nil {
params.Time = &now
}
if params.Metrics == nil {
params.Metrics = []state.Metric{{"pings", strconv.Itoa(uniqueInteger()), *params.Time}}
}
chURL, ok := params.Unit.CharmURL()
c.Assert(ok, gc.Equals, true)
metric, err := params.Unit.AddMetrics(utils.MustNewUUID().String(), *params.Time, chURL.String(), params.Metrics)
c.Assert(err, jc.ErrorIsNil)
if params.Sent {
err := metric.SetSent()
c.Assert(err, jc.ErrorIsNil)
}
return metric
}
示例12: TestAddMetricsBatch
func (s *metricsAdderSuite) TestAddMetricsBatch(c *gc.C) {
metrics := []params.Metric{{Key: "pings", Value: "5", Time: time.Now().UTC()}}
uuid := utils.MustNewUUID().String()
result, err := s.adder.AddMetricBatches(params.MetricBatchParams{
Batches: []params.MetricBatchParam{{
Tag: s.meteredUnit.Tag().String(),
Batch: params.MetricBatch{
UUID: uuid,
CharmURL: s.meteredCharm.URL().String(),
Created: time.Now(),
Metrics: metrics,
}}}},
)
c.Assert(err, jc.ErrorIsNil)
c.Assert(result, gc.DeepEquals, params.ErrorResults{
Results: []params.ErrorResult{{nil}},
})
batches, err := s.State.MetricBatches()
c.Assert(err, jc.ErrorIsNil)
c.Assert(batches, gc.HasLen, 1)
batch := batches[0]
c.Assert(batch.UUID(), gc.Equals, uuid)
c.Assert(batch.CharmURL(), gc.Equals, s.meteredCharm.URL().String())
c.Assert(batch.Unit(), gc.Equals, s.meteredUnit.Name())
storedMetrics := batch.Metrics()
c.Assert(storedMetrics, gc.HasLen, 1)
c.Assert(storedMetrics[0].Key, gc.Equals, metrics[0].Key)
c.Assert(storedMetrics[0].Value, gc.Equals, metrics[0].Value)
}
示例13: TestAddMetricDeadUnit
func (s *MetricSuite) TestAddMetricDeadUnit(c *gc.C) {
assertUnitDead(c, s.unit)
now := state.NowToTheSecond()
m := state.Metric{"pings", "5", now}
_, err := s.unit.AddMetrics(utils.MustNewUUID().String(), now, "", []state.Metric{m})
c.Assert(err, gc.ErrorMatches, `metered/0 not found`)
}
示例14: TestAddMetric
func (s *MetricSuite) TestAddMetric(c *gc.C) {
now := state.NowToTheSecond()
envUUID := s.State.EnvironUUID()
m := state.Metric{"pings", "5", now}
metricBatch, err := s.unit.AddMetrics(utils.MustNewUUID().String(), now, "", []state.Metric{m})
c.Assert(err, jc.ErrorIsNil)
c.Assert(metricBatch.Unit(), gc.Equals, "metered/0")
c.Assert(metricBatch.EnvUUID(), gc.Equals, envUUID)
c.Assert(metricBatch.CharmURL(), gc.Equals, "cs:quantal/metered")
c.Assert(metricBatch.Sent(), jc.IsFalse)
c.Assert(metricBatch.Created(), gc.Equals, now)
c.Assert(metricBatch.Metrics(), gc.HasLen, 1)
metric := metricBatch.Metrics()[0]
c.Assert(metric.Key, gc.Equals, "pings")
c.Assert(metric.Value, gc.Equals, "5")
c.Assert(metric.Time.Equal(now), jc.IsTrue)
saved, err := s.State.MetricBatch(metricBatch.UUID())
c.Assert(err, jc.ErrorIsNil)
c.Assert(saved.Unit(), gc.Equals, "metered/0")
c.Assert(metricBatch.CharmURL(), gc.Equals, "cs:quantal/metered")
c.Assert(saved.Sent(), jc.IsFalse)
c.Assert(saved.Metrics(), gc.HasLen, 1)
metric = saved.Metrics()[0]
c.Assert(metric.Key, gc.Equals, "pings")
c.Assert(metric.Value, gc.Equals, "5")
c.Assert(metric.Time.Equal(now), jc.IsTrue)
}
示例15: TestRunningActionsResultError
func (s *ClientSuite) TestRunningActionsResultError(c *gc.C) {
tag := names.NewMachineTag(utils.MustNewUUID().String())
expectedCalls := []jujutesting.StubCall{{
"MachineActions.RunningActions",
[]interface{}{"", params.Entities{
Entities: []params.Entity{{Tag: tag.String()}},
}},
}}
expectedErr := ¶ms.Error{
Message: "rigged",
Code: params.CodeNotAssigned,
}
var stub jujutesting.Stub
apiCaller := apitesting.APICallerFunc(func(objType string, version int, id, request string, arg, result interface{}) error {
stub.AddCall(objType+"."+request, id, arg)
c.Check(result, gc.FitsTypeOf, ¶ms.ActionsByReceivers{})
*(result.(*params.ActionsByReceivers)) = params.ActionsByReceivers{
Actions: []params.ActionsByReceiver{{
Error: expectedErr,
}},
}
return nil
})
client := machineactions.NewClient(apiCaller)
action, err := client.RunningActions(tag)
c.Assert(errors.Cause(err), gc.Equals, expectedErr)
c.Assert(action, gc.IsNil)
stub.CheckCalls(c, expectedCalls)
}