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)
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())
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()
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())