Beispiel #1
0
    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)
Beispiel #4
0
    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)