1*3c875a21SAndroid Build Coastguard Worker# Copyright (C) 2018 The Android Open Source Project 2*3c875a21SAndroid Build Coastguard Worker# 3*3c875a21SAndroid Build Coastguard Worker# Licensed under the Apache License, Version 2.0 (the "License"); 4*3c875a21SAndroid Build Coastguard Worker# you may not use this file except in compliance with the License. 5*3c875a21SAndroid Build Coastguard Worker# You may obtain a copy of the License at 6*3c875a21SAndroid Build Coastguard Worker# 7*3c875a21SAndroid Build Coastguard Worker# http://www.apache.org/licenses/LICENSE-2.0 8*3c875a21SAndroid Build Coastguard Worker# 9*3c875a21SAndroid Build Coastguard Worker# Unless required by applicable law or agreed to in writing, software 10*3c875a21SAndroid Build Coastguard Worker# distributed under the License is distributed on an "AS IS" BASIS, 11*3c875a21SAndroid Build Coastguard Worker# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12*3c875a21SAndroid Build Coastguard Worker# See the License for the specific language governing permissions and 13*3c875a21SAndroid Build Coastguard Worker# limitations under the License. 14*3c875a21SAndroid Build Coastguard Worker"""Unit tests for github_archive_updater.""" 15*3c875a21SAndroid Build Coastguard Worker 16*3c875a21SAndroid Build Coastguard Workerimport unittest 17*3c875a21SAndroid Build Coastguard Worker 18*3c875a21SAndroid Build Coastguard Workerimport github_archive_updater 19*3c875a21SAndroid Build Coastguard Worker 20*3c875a21SAndroid Build Coastguard Worker 21*3c875a21SAndroid Build Coastguard Workerclass ChooseBestUrlTest(unittest.TestCase): 22*3c875a21SAndroid Build Coastguard Worker """Unit tests for choose_best_url.""" 23*3c875a21SAndroid Build Coastguard Worker 24*3c875a21SAndroid Build Coastguard Worker def test_url_selection(self): 25*3c875a21SAndroid Build Coastguard Worker """Tests that GithubArchiveUpdater can choose the right url.""" 26*3c875a21SAndroid Build Coastguard Worker prefix = "https://github.com/author/project/" 27*3c875a21SAndroid Build Coastguard Worker urls = [ 28*3c875a21SAndroid Build Coastguard Worker prefix + "releases/download/ver-1.0/ver-1.0-binary.zip", 29*3c875a21SAndroid Build Coastguard Worker prefix + "releases/download/ver-1.0/ver-1.0-binary.tar.gz", 30*3c875a21SAndroid Build Coastguard Worker prefix + "releases/download/ver-1.0/ver-1.0-src.zip", 31*3c875a21SAndroid Build Coastguard Worker prefix + "releases/download/ver-1.0/ver-1.0-src.tar.gz", 32*3c875a21SAndroid Build Coastguard Worker prefix + "archive/ver-1.0.zip", 33*3c875a21SAndroid Build Coastguard Worker prefix + "archive/ver-1.0.tar.gz", 34*3c875a21SAndroid Build Coastguard Worker ] 35*3c875a21SAndroid Build Coastguard Worker 36*3c875a21SAndroid Build Coastguard Worker previous_url = prefix + "releases/download/ver-0.9/ver-0.9-src.tar.gz" 37*3c875a21SAndroid Build Coastguard Worker url = github_archive_updater.choose_best_url(urls, previous_url) 38*3c875a21SAndroid Build Coastguard Worker expected_url = prefix + "releases/download/ver-1.0/ver-1.0-src.tar.gz" 39*3c875a21SAndroid Build Coastguard Worker self.assertEqual(url, expected_url) 40*3c875a21SAndroid Build Coastguard Worker 41*3c875a21SAndroid Build Coastguard Worker previous_url = prefix + "archive/ver-0.9.zip" 42*3c875a21SAndroid Build Coastguard Worker url = github_archive_updater.choose_best_url(urls, previous_url) 43*3c875a21SAndroid Build Coastguard Worker expected_url = prefix + "archive/ver-1.0.zip" 44*3c875a21SAndroid Build Coastguard Worker self.assertEqual(url, expected_url) 45*3c875a21SAndroid Build Coastguard Worker 46*3c875a21SAndroid Build Coastguard Worker 47*3c875a21SAndroid Build Coastguard Workerif __name__ == "__main__": 48*3c875a21SAndroid Build Coastguard Worker unittest.main(verbosity=2) 49