예제 #1
0
    def test_save(self):
        global_state = GlobalState()
        global_state.append_build_packages(self.build_packages)
        global_state.append_build_snaps(self.build_snaps)
        global_state.set_required_grade(self.required_grade)

        global_state.save(filepath="state")

        prepend = "  - "

        if self.build_packages:
            build_packages = "\n" + "\n".join(
                ["{}{}".format(prepend, p) for p in self.build_packages]
            )
        else:
            build_packages = " []"

        if self.build_snaps:
            build_snaps = "\n" + "\n".join(
                ["{}{}".format(prepend, p) for p in self.build_snaps]
            )
        else:
            build_snaps = " []"

        if self.required_grade:
            required_grade = self.required_grade
        else:
            required_grade = "null"

        self.assertThat(
            "state",
            FileContains(
                dedent(
                    """\
                    !GlobalState
                    assets:
                      build-packages:{}
                      build-snaps:{}
                      required-grade: {}
                    """
                ).format(build_packages, build_snaps, required_grade)
            ),
        )
예제 #2
0
    def test_save(self, tmp_work_path, build_packages, build_snaps,
                  required_grade):
        global_state = GlobalState()
        global_state.append_build_packages(build_packages)
        global_state.append_build_snaps(build_snaps)
        global_state.set_required_grade(required_grade)

        global_state.save(filepath="state")

        prepend = "  - "

        if build_packages:
            build_packages = "\n" + "\n".join(
                ["{}{}".format(prepend, p) for p in build_packages])
        else:
            build_packages = " []"

        if build_snaps:
            build_snaps = "\n" + "\n".join(
                ["{}{}".format(prepend, p) for p in build_snaps])
        else:
            build_snaps = " []"

        if required_grade:
            required_grade = required_grade
        else:
            required_grade = "null"

        with open("state") as state_file:
            state_file_contents = state_file.read()
            assert (state_file_contents == dedent("""\
                    !GlobalState
                    assets:
                      build-packages:{}
                      build-snaps:{}
                      required-grade: {}
                    """).format(build_packages, build_snaps, required_grade))