func (s *BackendSuite) SetUpTest(c *C) { // Isolate this test to a temporary directory s.RootDir = c.MkDir() dirs.SetRootDir(s.RootDir) // Create a fresh repository for each test s.Repo = interfaces.NewRepository() s.Iface = &interfaces.TestInterface{InterfaceName: "iface"} err := s.Repo.AddInterface(s.Iface) c.Assert(err, IsNil) }
// Manager returns a new InterfaceManager. // Extra interfaces can be provided for testing. func Manager(s *state.State, extra []interfaces.Interface) (*InterfaceManager, error) { runner := state.NewTaskRunner(s) m := &InterfaceManager{ state: s, runner: runner, repo: interfaces.NewRepository(), } if err := m.initialize(extra); err != nil { return nil, err } // interface tasks might touch more than the immediate task target snap, serialize them runner.SetBlocked(func(_ *state.Task, running []*state.Task) bool { return len(running) != 0 }) runner.AddHandler("connect", m.doConnect, nil) runner.AddHandler("disconnect", m.doDisconnect, nil) runner.AddHandler("setup-profiles", m.doSetupProfiles, m.doRemoveProfiles) runner.AddHandler("remove-profiles", m.doRemoveProfiles, m.doSetupProfiles) runner.AddHandler("discard-conns", m.doDiscardConns, m.undoDiscardConns) return m, nil }