Exemplo n.º 1
0
 def test_order(self, parse_sql_files: Mock, apply_files: Mock) -> None:
     fi123 = FileInfo("", "myschema", "postgres", 123, 0)
     fi122 = FileInfo("", "myschema", "postgres", 122, 0)
     fi124 = FileInfo("", "myschema", "postgres", 124, 0)
     parse_sql_files.return_value = [fi123, fi122, fi124]
     with patch("dbupgrade.upgrade.Filter") as filter_:
         filter_.return_value.return_value.matches.return_value = True
         db_upgrade(
             "myschema",
             "postgres://localhost/foo",
             "/tmp",
             VersionInfo(),
         )
         apply_files.assert_called_once_with(ANY, [fi122, fi123, fi124])
Exemplo n.º 2
0
 def test_exercise(
     self,
     fetch_current_db_versions: Mock,
     collect_sql_files: Mock,
     parse_sql_files: Mock,
     apply_files: Mock,
 ) -> None:
     filenames = ["/tmp/foo", "/tmp/bar"]
     file_infos = [FileInfo("", "myschema", "postgres", 150, 30)]
     fetch_current_db_versions.return_value = 123, 44
     collect_sql_files.return_value = filenames
     parse_sql_files.return_value = file_infos
     db_upgrade("myschema", "postgres://localhost/foo", "/tmp",
                VersionInfo())
     fetch_current_db_versions.assert_called_once_with(
         "postgres://localhost/foo", "myschema")
     collect_sql_files.assert_called_once_with("/tmp")
     parse_sql_files.assert_called_once_with(filenames)
     apply_files.assert_called_once_with("postgres://localhost/foo",
                                         file_infos)
Exemplo n.º 3
0
 def test_result_no_files(self, fetch_current_db_versions: Mock,
                          apply_files: Mock) -> None:
     fetch_current_db_versions.return_value = (122, 44)
     apply_files.return_value = ([], None)
     result = db_upgrade(
         "myschema",
         "postgres://localhost/foo",
         "/tmp",
         VersionInfo(),
     )
     assert result == UpgradeResult(VersionResult(122, 44),
                                    VersionResult(122, 44), [], None)
Exemplo n.º 4
0
 def test_filter(
     self,
     fetch_current_db_versions: Mock,
     parse_sql_files: Mock,
     apply_files: Mock,
 ) -> None:
     fetch_current_db_versions.return_value = 130, 34
     file_info = FileInfo("", "myschema", "", 0, 0)
     parse_sql_files.return_value = [
         file_info,
         FileInfo("", "otherschema", "", 0, 0),
     ]
     with patch("dbupgrade.upgrade.Filter") as filter_:
         filter_.return_value.matches = lambda fi: fi.schema == "myschema"
         db_upgrade(
             "myschema",
             "postgres://localhost/foo",
             "/tmp",
             VersionInfo(api_level=12),
         )
         filter_.assert_called_once_with(
             "myschema", "postgres", VersionMatcher(131, MAX_VERSION, 12))
         apply_files.assert_called_once_with(ANY, [file_info])
Exemplo n.º 5
0
 def test_result_error(self, fetch_current_db_versions: Mock,
                       apply_files: Mock) -> None:
     file_info1 = FileInfo("foo.sql", "myschema", "", 123, 45)
     file_info2 = FileInfo("foo.sql", "myschema", "", 124, 46)
     fetch_current_db_versions.return_value = (122, 44)
     apply_files.return_value = ([file_info1], file_info2)
     result = db_upgrade(
         "myschema",
         "postgres://localhost/foo",
         "/tmp",
         VersionInfo(),
     )
     assert result == UpgradeResult(
         VersionResult(122, 44),
         VersionResult(123, 45),
         [file_info1],
         file_info2,
     )
Exemplo n.º 6
0
 def test_log(self, logging: Mock, fetch_current_db_versions: Mock) -> None:
     fetch_current_db_versions.return_value = 123, 44
     db_upgrade("myschema", "postgres://localhost/foo", "/tmp",
                VersionInfo())
     logging.info.assert_called_once_with(
         "current version: 123, current API level: 44")