CharmURL: stcurl, }, err: `unexpected charm URL`, }, { st: operation.State{ Kind: operation.RunAction, Step: operation.Pending, ActionId: &someActionId, }, }, // RunHook operation. { st: operation.State{ Kind: operation.RunHook, Step: operation.Pending, Hook: &hook.Info{Kind: hooks.Kind("machine-exploded")}, }, err: `unknown hook kind "machine-exploded"`, }, { st: operation.State{ Kind: operation.RunHook, Step: operation.Pending, Hook: &hook.Info{Kind: hooks.RelationJoined}, }, err: `"relation-joined" hook requires a remote unit`, }, { st: operation.State{ Kind: operation.RunHook, Step: operation.Pending, Hook: &hook.Info{Kind: hooks.ConfigChanged}, ActionId: &someActionId,
func (s *FactorySuite) testNewHookError(c *gc.C, newHook newHook) { op, err := newHook(s.factory, hook.Info{Kind: hooks.Kind("gibberish")}) c.Check(op, gc.IsNil) c.Check(err, gc.ErrorMatches, `unknown hook kind "gibberish"`) }
var validateTests = []struct { info hook.Info err string }{ { hook.Info{Kind: hooks.RelationJoined}, `"relation-joined" hook requires a remote unit`, }, { hook.Info{Kind: hooks.RelationChanged}, `"relation-changed" hook requires a remote unit`, }, { hook.Info{Kind: hooks.RelationDeparted}, `"relation-departed" hook requires a remote unit`, }, { hook.Info{Kind: hooks.Kind("grok")}, `unknown hook kind "grok"`, }, {hook.Info{Kind: hooks.Install}, ""}, {hook.Info{Kind: hooks.Start}, ""}, {hook.Info{Kind: hooks.ConfigChanged}, ""}, {hook.Info{Kind: hooks.CollectMetrics}, ""}, {hook.Info{Kind: hooks.MeterStatusChanged}, ""}, {hook.Info{Kind: hooks.Action}, "hooks.Kind Action is deprecated"}, {hook.Info{Kind: hooks.UpgradeCharm}, ""}, {hook.Info{Kind: hooks.Stop}, ""}, {hook.Info{Kind: hooks.RelationJoined, RemoteUnit: "x"}, ""}, {hook.Info{Kind: hooks.RelationChanged, RemoteUnit: "x"}, ""}, {hook.Info{Kind: hooks.RelationDeparted, RemoteUnit: "x"}, ""}, {hook.Info{Kind: hooks.RelationBroken}, ""}, {hook.Info{Kind: hooks.StorageAttached}, `invalid storage ID ""`},