def test_snapcraft_installed_on_host_from_store_rerun_refreshes(self): self.useFixture(fixture_setup.FakeStore()) snap_injector = SnapInjector( registry_filepath=self.registry_filepath, runner=self.provider._run, file_pusher=self.provider._push_file, ) snap_injector.add("core") snap_injector.add("snapcraft") snap_injector.apply() self.provider.run_mock.reset_mock() snap_injector = SnapInjector( registry_filepath=self.registry_filepath, runner=self.provider._run, file_pusher=self.provider._push_file, ) snap_injector.add("core") snap_injector.add("snapcraft") snap_injector.apply() self.provider.run_mock.assert_has_calls([ call(["snap", "set", "system", ANY]), call(["snap", "watch", "--last=auto-refresh?"]), call(["snap", "refresh", "--channel", "stable", "core"]), call([ "snap", "refresh", "--classic", "--channel", "stable", "snapcraft" ]), ])
def test_snapcraft_not_installed_on_host(self): self.useFixture(fixture_setup.FakeStore()) snap_injector = SnapInjector( registry_filepath=self.registry_filepath, runner=self.provider._run, file_pusher=self.provider._push_file, ) snap_injector.add("core") snap_injector.add("snapcraft") snap_injector.apply() self.get_assertion_mock.assert_not_called() self.provider.run_mock.assert_has_calls([ call(["snap", "set", "system", ANY]), call(["snap", "watch", "--last=auto-refresh?"]), call(["snap", "install", "--channel", "stable", "core"]), call([ "snap", "install", "--classic", "--channel", "stable", "snapcraft" ]), ]) self.provider.push_file_mock.assert_not_called() self.assertThat( self.registry_filepath, FileContains( dedent("""\ core: - revision: '10000' snapcraft: - revision: '25' """)), )
def setUp(self): super().setUp() self.fake_store = fixture_setup.FakeStore() self.useFixture(self.fake_store) self.client = storeapi.StoreClient() self.client.login(email="dummy", password="******", ttl=1)
def test_snapd_not_on_host_installs_from_store(self): self.useFixture(fixture_setup.FakeStore()) snap_injector = SnapInjector( registry_filepath=self.registry_filepath, runner=self.provider._run, file_pusher=self.provider._push_file, ) snap_injector.add("core") snap_injector.add("snapcraft") with patch( "snapcraft_legacy.internal.repo.snaps.SnapPackage.get_local_snap_info", side_effect=repo.errors.SnapdConnectionError("core", "url"), ): snap_injector.apply() self.get_assertion_mock.assert_not_called() self.provider.run_mock.assert_has_calls([ call(["snap", "set", "system", ANY]), call(["snap", "watch", "--last=auto-refresh?"]), call(["snap", "install", "--channel", "stable", "core"]), call([ "snap", "install", "--classic", "--channel", "stable", "snapcraft" ]), ]) self.provider.push_file_mock.assert_not_called() self.assertThat( self.registry_filepath, FileContains( dedent("""\ core: - revision: '10000' snapcraft: - revision: '25' """)), )