From ea838a9855efeaa158591e1e1ca3759b16df38bc Mon Sep 17 00:00:00 2001 From: mprahl Date: May 15 2019 15:14:05 +0000 Subject: Set nullable=False on the ModuleBuild.context column model to match the migration The context column was added in d83e6897ca8ac02da8186c5f2918107f8314a6e9. The migration set `nullable=False`, but the model kept the default of `nullable=True`. This caused `mbs-manager db migrate` to create a migration for setting the context collumn to `nullable=True`. --- diff --git a/module_build_service/models.py b/module_build_service/models.py index eff17cb..52d11be 100644 --- a/module_build_service/models.py +++ b/module_build_service/models.py @@ -191,7 +191,7 @@ class ModuleBuild(MBSBase): ref_build_context = db.Column(db.String) build_context = db.Column(db.String) runtime_context = db.Column(db.String) - context = db.Column(db.String, server_default=DEFAULT_MODULE_CONTEXT) + context = db.Column(db.String, nullable=False, server_default=DEFAULT_MODULE_CONTEXT) state = db.Column(db.Integer, nullable=False) state_reason = db.Column(db.String) modulemd = db.Column(db.String, nullable=False) diff --git a/tests/staged_data/nginx_mmd.yaml b/tests/staged_data/nginx_mmd.yaml index edeeb25..c55defa 100644 --- a/tests/staged_data/nginx_mmd.yaml +++ b/tests/staged_data/nginx_mmd.yaml @@ -16,6 +16,7 @@ data: # timestamp. Module version defines upgrade path for the particular # update stream. version: 2 + context: '00000000' # A short summary describing the module, required summary: An example nginx module # A verbose description of the module, required diff --git a/tests/test_content_generator.py b/tests/test_content_generator.py index 62417af..a9017ba 100644 --- a/tests/test_content_generator.py +++ b/tests/test_content_generator.py @@ -204,20 +204,20 @@ class TestBuild: """ Test preparation of directory with output files """ dir_path = self.cg._prepare_file_directory() with io.open(path.join(dir_path, "modulemd.txt"), encoding="utf-8") as mmd: - assert len(mmd.read()) == 1136 + assert len(mmd.read()) == 1160 def test_prepare_file_directory_per_arch_mmds(self): """ Test preparation of directory with output files """ self.cg.arches = ["x86_64", "i686"] dir_path = self.cg._prepare_file_directory() with io.open(path.join(dir_path, "modulemd.txt"), encoding="utf-8") as mmd: - assert len(mmd.read()) == 1136 + assert len(mmd.read()) == 1160 with io.open(path.join(dir_path, "modulemd.x86_64.txt"), encoding="utf-8") as mmd: - assert len(mmd.read()) == 236 + assert len(mmd.read()) == 256 with io.open(path.join(dir_path, "modulemd.i686.txt"), encoding="utf-8") as mmd: - assert len(mmd.read()) == 234 + assert len(mmd.read()) == 254 @patch.dict("sys.modules", krbV=Mock()) @patch("module_build_service.builder.KojiModuleBuilder.KojiClientSession") @@ -290,12 +290,12 @@ class TestBuild: assert ret == { "arch": "x86_64", "buildroot_id": 1, - "checksum": "96b7739ffa3918e6ac3e3bd422b064ea", + "checksum": "aed2e2774c82cbc19fe9555f70cafd79", "checksum_type": "md5", "components": [], "extra": {"typeinfo": {"module": {}}}, "filename": "modulemd.x86_64.txt", - "filesize": 1138, + "filesize": 1162, "type": "file", } @@ -333,7 +333,7 @@ class TestBuild: assert ret == { "arch": "x86_64", "buildroot_id": 1, - "checksum": "bb6ba47519b68aee215d095fd2c57c70", + "checksum": "5fbad2ef9b6c5496bdce4368ca3182d6", "checksum_type": "md5", "components": [ { @@ -348,7 +348,7 @@ class TestBuild: ], "extra": {"typeinfo": {"module": {}}}, "filename": "modulemd.x86_64.txt", - "filesize": 296, + "filesize": 316, "type": "file", } diff --git a/tests/test_get_generator_json_expected_output.json b/tests/test_get_generator_json_expected_output.json index 3fa15a8..9285140 100644 --- a/tests/test_get_generator_json_expected_output.json +++ b/tests/test_get_generator_json_expected_output.json @@ -625,8 +625,8 @@ } ], "arch": "noarch", - "filesize": 1138, - "checksum": "96b7739ffa3918e6ac3e3bd422b064ea", + "filesize": 1162, + "checksum": "aed2e2774c82cbc19fe9555f70cafd79", "checksum_type": "md5", "type": "file", "extra": { @@ -652,7 +652,7 @@ "version": "2", "module_build_service_id": 2, "content_koji_tag": "module-nginx-1.2", - "modulemd_str": "# Document type identifier\ndocument: modulemd\n# Module metadata format version\nversion: 1\ndata:\n # Module name, optional\n # Typically filled in by the buildsystem, using the VCS repository\n # name as the name of the module.\n name: nginx\n # Module update stream, optional\n # Typically filled in by the buildsystem, using the VCS branch name\n # as the name of the stream.\n stream: 1\n # Module version, integer, optional, cannot be negative\n # Typically filled in by the buildsystem, using the VCS commit\n # timestamp. Module version defines upgrade path for the particular\n # update stream.\n version: 2\n # A short summary describing the module, required\n summary: An example nginx module\n # A verbose description of the module, required\n description: >\n A module for the tests of module build service ’\n # Module and content licenses in the Fedora license identifier\n # format, required\n license:\n # Module license, required\n # This list covers licenses used for the module metadata, SPEC\n # files or extra patches\n module:\n - MIT\n" + "modulemd_str": "# Document type identifier\ndocument: modulemd\n# Module metadata format version\nversion: 1\ndata:\n # Module name, optional\n # Typically filled in by the buildsystem, using the VCS repository\n # name as the name of the module.\n name: nginx\n # Module update stream, optional\n # Typically filled in by the buildsystem, using the VCS branch name\n # as the name of the stream.\n stream: 1\n # Module version, integer, optional, cannot be negative\n # Typically filled in by the buildsystem, using the VCS commit\n # timestamp. Module version defines upgrade path for the particular\n # update stream.\n version: 2\n context: '00000000'\n # A short summary describing the module, required\n summary: An example nginx module\n # A verbose description of the module, required\n description: >\n A module for the tests of module build service ’\n # Module and content licenses in the Fedora license identifier\n # format, required\n license:\n # Module license, required\n # This list covers licenses used for the module metadata, SPEC\n # files or extra patches\n module:\n - MIT\n" } } }, diff --git a/tests/test_get_generator_json_expected_output_with_log.json b/tests/test_get_generator_json_expected_output_with_log.json index c2e6322..0335db1 100644 --- a/tests/test_get_generator_json_expected_output_with_log.json +++ b/tests/test_get_generator_json_expected_output_with_log.json @@ -625,8 +625,8 @@ } ], "arch": "noarch", - "filesize": 1138, - "checksum": "96b7739ffa3918e6ac3e3bd422b064ea", + "filesize": 1162, + "checksum": "aed2e2774c82cbc19fe9555f70cafd79", "checksum_type": "md5", "type": "file", "extra": { @@ -661,7 +661,7 @@ "version": "2", "module_build_service_id": 2, "content_koji_tag": "module-nginx-1.2", - "modulemd_str": "# Document type identifier\ndocument: modulemd\n# Module metadata format version\nversion: 1\ndata:\n # Module name, optional\n # Typically filled in by the buildsystem, using the VCS repository\n # name as the name of the module.\n name: nginx\n # Module update stream, optional\n # Typically filled in by the buildsystem, using the VCS branch name\n # as the name of the stream.\n stream: 1\n # Module version, integer, optional, cannot be negative\n # Typically filled in by the buildsystem, using the VCS commit\n # timestamp. Module version defines upgrade path for the particular\n # update stream.\n version: 2\n # A short summary describing the module, required\n summary: An example nginx module\n # A verbose description of the module, required\n description: >\n A module for the tests of module build service ’\n # Module and content licenses in the Fedora license identifier\n # format, required\n license:\n # Module license, required\n # This list covers licenses used for the module metadata, SPEC\n # files or extra patches\n module:\n - MIT\n" + "modulemd_str": "# Document type identifier\ndocument: modulemd\n# Module metadata format version\nversion: 1\ndata:\n # Module name, optional\n # Typically filled in by the buildsystem, using the VCS repository\n # name as the name of the module.\n name: nginx\n # Module update stream, optional\n # Typically filled in by the buildsystem, using the VCS branch name\n # as the name of the stream.\n stream: 1\n # Module version, integer, optional, cannot be negative\n # Typically filled in by the buildsystem, using the VCS commit\n # timestamp. Module version defines upgrade path for the particular\n # update stream.\n version: 2\n context: '00000000'\n # A short summary describing the module, required\n summary: An example nginx module\n # A verbose description of the module, required\n description: >\n A module for the tests of module build service ’\n # Module and content licenses in the Fedora license identifier\n # format, required\n license:\n # Module license, required\n # This list covers licenses used for the module metadata, SPEC\n # files or extra patches\n module:\n - MIT\n" } } },