Ejemplo n.º 1
0
    def test_from_file(self):
        snap_yaml = dedent("""
            name: test-name
            version: "1.0"
            summary: test-summary
            description: test-description
            base: core18
            architectures:
            - amd64
            assumes:
            - snapd2.39
            confinement: classic
            grade: devel
            apps:
              test-app:
                command: test-command
                completer: test-completer
        """)

        meta_path = os.path.join(self.path, "meta")
        os.makedirs(meta_path)

        snap_yaml_path = os.path.join(self.path, "meta", "snap.yaml")
        open(snap_yaml_path, "w").write(snap_yaml)

        snap = Snap.from_file(snap_yaml_path)
        snap.validate()

        self.assertEqual("test-name", snap.name)
        self.assertEqual("1.0", snap.version)
        self.assertEqual("test-summary", snap.summary)
        self.assertEqual("test-description", snap.description)
        self.assertEqual(
            OrderedDict({
                "command": "test-command",
                "completer": "test-completer"
            }),
            snap.apps["test-app"].to_dict(),
        )
        self.assertEqual(["amd64"], snap.architectures)
        self.assertEqual({"snapd2.39"}, snap.assumes)
        self.assertEqual("core18", snap.base)
        self.assertEqual("classic", snap.confinement)
        self.assertEqual("devel", snap.grade)
Ejemplo n.º 2
0
    def test_conversions(self):
        # Ordering matters for verifying the YAML.
        snapcraft_yaml_path = os.path.join(self.path, "snapcraft.yaml")
        with open(snapcraft_yaml_path, "w") as f:
            f.write(self.snapcraft_yaml)

        snap = Snap.from_file(snapcraft_yaml_path)
        snap.validate()

        # Write snap yaml.
        snap_yaml_path = os.path.join(self.path, "snap.yaml")
        snap.write_snap_yaml(path=snap_yaml_path)

        # Read snap yaml.
        with open(snap_yaml_path, "r") as f:
            written_snap_yaml = f.read()

        # Compare stripped versions (to remove leading/trailing newlines).
        self.assertEqual(self.snap_yaml.strip(), written_snap_yaml.strip())
Ejemplo n.º 3
0
    def test_conversions(self, tmp_work_path, snapcraft_yaml, snap_yaml):
        # Ordering matters for verifying the YAML.
        snapcraft_yaml_path = tmp_work_path / "snapcraft.yaml"
        with snapcraft_yaml_path.open("w") as snapcraft_file:
            print(snapcraft_yaml, file=snapcraft_file)

        snap = Snap.from_file(snapcraft_yaml_path.as_posix())
        snap.validate()

        # Write snap yaml.
        snap_yaml_path = tmp_work_path / "snap.yaml"
        snap.write_snap_yaml(path=snap_yaml_path.as_posix())

        # Read snap yaml.
        with snap_yaml_path.open() as snap_file:
            written_snap_yaml = snap_file.read()

        # Compare stripped versions (to remove leading/trailing newlines).
        assert snap_yaml.strip() == written_snap_yaml.strip()
Ejemplo n.º 4
0
    def test_to_file(self):
        # Ordering matters for verifying the YAML.
        snap_yaml = dedent(
            """
            name: test-name
            version: '1.0'
            summary: test-summary
            description: test-description
            apps:
              test-app:
                command: test-command
                completer: test-completer
            architectures:
            - amd64
            assumes:
            - snapd2.39
            base: core18
            confinement: classic
            grade: devel
        """
        )

        meta_path = os.path.join(self.path, "meta")
        os.makedirs(meta_path)

        snap_yaml_path = os.path.join(self.path, "meta", "snap.yaml")
        open(snap_yaml_path, "w").write(snap_yaml)

        snap = Snap.from_file(snap_yaml_path)
        snap.validate()

        # Write snap yaml.
        snap.write_snap_yaml(path=snap_yaml_path)

        # Read snap yaml.
        written_snap_yaml = open(snap_yaml_path, "r").read()

        # Compare stripped versions (to remove leading/trailing newlines).
        self.assertEqual(snap_yaml.strip(), written_snap_yaml.strip())