def test_check_release(self, mock): url = '%s/%s/%s/latest' % (self.BASE_URL, self.DEFAULT_TREE, self.DEFAULT_BRANCH) cfg = { 'api_token': self.DEFAULT_API_TOKEN, } mock.get(url, text=self.DEFAULT_RELEASE, headers={'last-modified': time.strftime("%a, %d %b %Y %H:%M:%S GMT", time.gmtime())}) crawler = FreeElectronsCrawler(cfg) assert_equal(self.DEFAULT_RELEASE, crawler._get_latest_release(self.DEFAULT_TREE, self.DEFAULT_BRANCH))
def test_check_artifacts_all_missing_dtb(self, mock): release_url = '%s/%s/%s/latest' % (self.BASE_URL, self.DEFAULT_TREE, self.DEFAULT_BRANCH) config_url = '%s/%s/%s/%s/%s/%s' % ( self.BASE_URL, self.DEFAULT_TREE, self.DEFAULT_BRANCH, self.DEFAULT_RELEASE, self.DEFAULT_ARCH, self.DEFAULT_DEFCONFIG) kernel_url = '%s/%s' % (config_url, self.DEFAULT_IMAGE) modules_url = '%s/%s' % (config_url, self.DEFAULT_MODULES) dtb_url = '%s/dtbs/%s.dtb' % (config_url, self.DEFAULT_DTB) board = { 'arch': self.DEFAULT_ARCH, 'dt': self.DEFAULT_DTB, 'name': 'test' } cfg = { 'api_token': self.DEFAULT_API_TOKEN, } mock.get(release_url, text=self.DEFAULT_RELEASE, headers={ 'last-modified': time.strftime("%a, %d %b %Y %H:%M:%S GMT", time.gmtime()) }) mock.get(config_url) mock.get(kernel_url) mock.get(modules_url) mock.get(dtb_url, status_code=404) crawler = FreeElectronsCrawler(cfg) assert_raises(RemoteEmptyError, crawler.crawl, board, self.DEFAULT_TREE, self.DEFAULT_BRANCH, self.DEFAULT_DEFCONFIG)
def test_check_release_error(self, mock): url = '%s/%s/%s/latest' % (self.BASE_URL, self.DEFAULT_TREE, self.DEFAULT_BRANCH) cfg = { 'api_token': self.DEFAULT_API_TOKEN, } mock.get(url, status_code=404) crawler = FreeElectronsCrawler(cfg) assert_raises(RemoteEmptyError, crawler._get_latest_release, self.DEFAULT_TREE, self.DEFAULT_BRANCH)
def test_check_artifacts_all(self, mock): release_url = '%s/%s/%s/latest' % (self.BASE_URL, self.DEFAULT_TREE, self.DEFAULT_BRANCH) config_url = '%s/%s/%s/%s/%s/%s' % (self.BASE_URL, self.DEFAULT_TREE, self.DEFAULT_BRANCH, self.DEFAULT_RELEASE, self.DEFAULT_ARCH, self.DEFAULT_DEFCONFIG) kernel_url = '%s/%s' % (config_url, self.DEFAULT_IMAGE) modules_url = '%s/%s' % (config_url, self.DEFAULT_MODULES) dtb_url = '%s/dtbs/%s.dtb' % (config_url, self.DEFAULT_DTB) board = { 'arch': self.DEFAULT_ARCH, 'dt': self.DEFAULT_DTB, 'name': 'test' } cfg = { 'api_token': self.DEFAULT_API_TOKEN, } mock.get(release_url, text=self.DEFAULT_RELEASE, headers={'last-modified': time.strftime("%a, %d %b %Y %H:%M:%S GMT", time.gmtime())}) mock.get(config_url) mock.get(kernel_url) mock.get(modules_url) mock.get(dtb_url) crawler = FreeElectronsCrawler(cfg) items = crawler.crawl(board, self.DEFAULT_TREE, self.DEFAULT_BRANCH, self.DEFAULT_DEFCONFIG) assert_equal(kernel_url, items['kernel']) assert_equal(dtb_url, items['dtb']) assert_equal(modules_url, items['modules'])
def test_check_release_url_too_old(self, mock): url = '%s/%s/%s/latest' % (self.BASE_URL, self.DEFAULT_TREE, self.DEFAULT_BRANCH) base_url = '%s/%s/%s/%s/%s/%s' % ( self.BASE_URL, self.DEFAULT_TREE, self.DEFAULT_BRANCH, self.DEFAULT_RELEASE, self.DEFAULT_ARCH, self.DEFAULT_DEFCONFIG) cfg = { 'api_token': self.DEFAULT_API_TOKEN, } mock.get(url, text=self.DEFAULT_RELEASE, headers={ 'last-modified': time.strftime("%a, %d %b %Y %H:%M:%S GMT", time.gmtime(time.time() - 26 * 3600)) }) crawler = FreeElectronsCrawler(cfg) assert_raises(RemoteEmptyError, crawler._get_base_url, self.DEFAULT_TREE, self.DEFAULT_BRANCH, self.DEFAULT_ARCH, self.DEFAULT_DEFCONFIG)