func (s *YamlSuite) TestUnmarshalHookFiltersOutUnsupportedHooks(c *C) { s.restore() hookType := snap.NewHookType(regexp.MustCompile("test-.*")) s.restore = snap.MockSupportedHookTypes([]*snap.HookType{hookType}) // NOTE: yaml content cannot use tabs, indent the section with spaces. info, err := snap.InfoFromSnapYaml([]byte(` name: snap hooks: test-hook: foo-hook: `)) c.Assert(err, IsNil) c.Check(info.Name(), Equals, "snap") c.Check(info.Plugs, HasLen, 0) c.Check(info.Slots, HasLen, 0) c.Check(info.Apps, HasLen, 0) c.Check(info.Hooks, HasLen, 1) hook, ok := info.Hooks["test-hook"] c.Assert(ok, Equals, true, Commentf("Expected hooks to include 'test-hook'")) c.Check(hook, DeepEquals, &snap.HookInfo{ Snap: info, Name: "test-hook", Plugs: nil, }) }
func (s *infoSuite) TestReadInfoInvalidImplicitHook(c *C) { hookType := snap.NewHookType(regexp.MustCompile("foo")) s.restore = snap.MockSupportedHookTypes([]*snap.HookType{hookType}) yaml := `name: foo version: 1.0` s.checkInstalledSnapAndSnapFile(c, yaml, "SNAP", []string{"foo", "bar"}, func(c *C, info *snap.Info) { // Verify that only foo has been loaded, not bar c.Check(info.Hooks, HasLen, 1) verifyImplicitHook(c, info, "foo") }) }
func (s *YamlSuite) TestUnmarshalUnsupportedHook(c *C) { s.restore() hookType := snap.NewHookType(regexp.MustCompile("not-test-hook")) s.restore = snap.MockSupportedHookTypes([]*snap.HookType{hookType}) // NOTE: yaml content cannot use tabs, indent the section with spaces. info, err := snap.InfoFromSnapYaml([]byte(` name: snap hooks: test-hook: `)) c.Assert(err, IsNil) c.Check(info.Name(), Equals, "snap") c.Check(info.Plugs, HasLen, 0) c.Check(info.Slots, HasLen, 0) c.Check(info.Apps, HasLen, 0) c.Check(info.Hooks, HasLen, 0, Commentf("Expected no hooks to be loaded")) }
func (s *YamlSuite) SetUpTest(c *C) { hookType := snap.NewHookType(regexp.MustCompile(".*")) s.restore = snap.MockSupportedHookTypes([]*snap.HookType{hookType}) }
func (s *infoSuite) SetUpTest(c *C) { dirs.SetRootDir(c.MkDir()) hookType := snap.NewHookType(regexp.MustCompile(".*")) s.restore = snap.MockSupportedHookTypes([]*snap.HookType{hookType}) }