# Copyright (C) 2018 The Android Open Source Project # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. """Unit tests for external updater.""" import unittest import github_archive_updater class ExternalUpdaterTest(unittest.TestCase): """Unit tests for external updater.""" def test_url_selection(self): """Tests that GithubArchiveUpdater can choose the right url.""" prefix = "https://github.com/author/project/" urls = [ prefix + "releases/download/ver-1.0/ver-1.0-binary.zip", prefix + "releases/download/ver-1.0/ver-1.0-binary.tar.gz", prefix + "releases/download/ver-1.0/ver-1.0-src.zip", prefix + "releases/download/ver-1.0/ver-1.0-src.tar.gz", prefix + "archive/ver-1.0.zip", prefix + "archive/ver-1.0.tar.gz", ] previous_url = prefix + "releases/download/ver-0.9/ver-0.9-src.tar.gz" url = github_archive_updater.choose_best_url(urls, previous_url) expected_url = prefix + "releases/download/ver-1.0/ver-1.0-src.tar.gz" self.assertEqual(url, expected_url) previous_url = prefix + "archive/ver-0.9.zip" url = github_archive_updater.choose_best_url(urls, previous_url) expected_url = prefix + "archive/ver-1.0.zip" self.assertEqual(url, expected_url) if __name__ == "__main__": unittest.main(verbosity=2)