def test_build_snaps(self, platform_machine_mock, platform_architecture_mock): platform_machine_mock.return_value = self.host_arch platform_architecture_mock.return_value = ("64bit", "ELF") repo = mock.Mock() class Plugin: build_snaps = self.snaps stage_snaps = self.snaps plugin = Plugin() expected = getattr(self, "expected_{}".format(self.target_arch)) processor = PartGrammarProcessor( plugin=plugin, properties={ "build-snaps": {"plugin-preferred"}, "stage-snaps": "plugin-preferred", }, project=project.Project(target_deb_arch=self.target_arch), repo=repo, ) self.assertThat(processor.get_build_snaps(), Equals(expected)) self.assertThat(processor.get_stage_snaps(), Equals(expected))
def test_snaps( self, monkeypatch, host_arch, target_arch, snaps, expected_amd64, expected_i386, expected_armhf, ): monkeypatch.setattr(platform, "machine", lambda: host_arch) monkeypatch.setattr(platform, "architecture", lambda: ("64bit", "ELF")) monkeypatch.setattr( snapcraft_repo.snaps.SnapPackage, "is_valid_snap", lambda x: "invalid" not in x, ) repo = mock.Mock() class Plugin: build_snaps = snaps stage_snaps = snaps plugin = Plugin() processor = PartGrammarProcessor( plugin=plugin, properties={ "build-snaps": {"plugin-preferred"}, "stage-snaps": "plugin-preferred", }, project=project.Project(target_deb_arch=target_arch), repo=repo, ) expected_arch = dict( expected_amd64=expected_amd64, expected_i386=expected_i386, expected_armhf=expected_armhf, ) assert processor.get_build_snaps( ) == expected_arch[f"expected_{target_arch}"] assert processor.get_stage_snaps( ) == expected_arch[f"expected_{target_arch}"]