def test_linktovirtual(self):
     static_reponame = self.createNewRepoAndAssertValid()
     testRPMFilePath = Constants.TEST_RPM_FILE_LOC + Constants.TEST_RPM_FILE_NAME
     self.upload_testfile(static_reponame, testRPMFilePath)
     virtual_reponame = unique_repo_name()
     self.create_virtual_repo_from_static_repo(virtual_reponame, static_reponame)
     virtual_reponame2 = unique_repo_name()
     self._execute(["linktovirtual", virtual_reponame2, virtual_reponame])
     response = self.helper.do_http_get(
         "/repo/virtual/" + virtual_reponame2 + "/" + Constants.TEST_RPM_DESTINATION_NAME
     )
     self.assertStatusCode(response, httplib.OK)
Beispiel #2
0
 def test_linktovirtual(self):
     static_reponame = self.createNewRepoAndAssertValid()
     testRPMFilePath = Constants.TEST_RPM_FILE_LOC + Constants.TEST_RPM_FILE_NAME
     self.upload_testfile(static_reponame, testRPMFilePath)
     virtual_reponame = unique_repo_name()
     self.create_virtual_repo_from_static_repo(virtual_reponame,
                                               static_reponame)
     virtual_reponame2 = unique_repo_name()
     self._execute(['linktovirtual', virtual_reponame2, virtual_reponame])
     response = self.helper.do_http_get('/repo/virtual/' +
                                        virtual_reponame2 + '/' +
                                        Constants.TEST_RPM_DESTINATION_NAME)
     self.assertStatusCode(response, httplib.OK)
Beispiel #3
0
 def test_filter_by_name(self):
     self.createNewRepoAndAssertValid()
     reponame = 'some-app-321.1.1-' + unique_repo_name()
     self.repoclient().createStaticRepo(reponame)
     response = self.helper.do_http_get(Constants.HTTP_PATH_STATIC +
                                        ".txt?name=some-app-.*")
     self.assertEqual(reponame + "\n", response.read())
Beispiel #4
0
    def test_delete_static_repo(self):
        reponame = unique_repo_name()
        self._execute(['create', reponame])
        self._execute(['deletestatic', reponame])

        response = self.helper.do_http_get('/repo/' + reponame + '/')
        self.assertStatusCode(response, httplib.NOT_FOUND)
 def test_virtual_listing_lists_repos(self):
     reponame = unique_repo_name()
     virtualRepoPath = self.config.getVirtualRepoDir()+reponame
     os.makedirs(virtualRepoPath)
     response = self.helper.do_http_get(Constants.HTTP_PATH_VIRTUAL+".txt")
     self.assertTrue(reponame in response.read())
     shutil.rmtree(virtualRepoPath)
 def test_delete_repo(self):
     reponame = unique_repo_name()
     
     self.repoclient().createStaticRepo(reponame)
     self.repoclient().delete_static_repo(reponame)
     
     response = self.helper.do_http_get('/repo/%s' % reponame)
     self.assertEqual(httplib.NOT_FOUND, response.status)
Beispiel #7
0
    def test_delete_repo(self):
        reponame = unique_repo_name()

        self.repoclient().createStaticRepo(reponame)
        self.repoclient().delete_static_repo(reponame)

        response = self.helper.do_http_get('/repo/%s' % reponame)
        self.assertEqual(httplib.NOT_FOUND, response.status)
Beispiel #8
0
 def test_virtual_listing_lists_repos(self):
     reponame = unique_repo_name()
     virtualRepoPath = self.config.getVirtualRepoDir() + reponame
     os.makedirs(virtualRepoPath)
     response = self.helper.do_http_get(Constants.HTTP_PATH_VIRTUAL +
                                        ".txt")
     self.assertTrue(reponame in response.read())
     shutil.rmtree(virtualRepoPath)
 def test_base_directory_listing(self):
     repo_name = self.createNewRepoAndAssertValid()
     self.create_virtual_repo_from_static_repo(unique_repo_name(), repo_name)
     response = self.helper.do_http_get("/repo/")
     self.assertStatusCode(response, httplib.OK)
     msg = response.read()
     self.assertTrue(repo_name in msg)
     self.assertTrue('virtual/' in msg)
Beispiel #10
0
 def test_base_directory_listing(self):
     repo_name = self.createNewRepoAndAssertValid()
     self.create_virtual_repo_from_static_repo(unique_repo_name(),
                                               repo_name)
     response = self.helper.do_http_get("/repo/")
     self.assertStatusCode(response, httplib.OK)
     msg = response.read()
     self.assertTrue(repo_name in msg)
     self.assertTrue('virtual/' in msg)
 def test_post_with_duplicate_repo_name(self):
     reponame = unique_repo_name()
     self.doHttpPost(Constants.HTTP_PATH_STATIC + '/', "name=" + reponame)
     response = self.doHttpPost(Constants.HTTP_PATH_STATIC + '/', "name=" + reponame) #double POST -> repo already exists
     self.assertEquals(response.status, httplib.CONFLICT, "Response for duplicate repo name must be CONFLICT, but was" + str(response.status))
     msg = response.read()
     expected = Constants.API_MSG_DUPLICATE_PREFIX + reponame + Constants.API_MSG_DUPLICATE_SUFFIX
     self.assertEqual(msg, expected,
         "Response for duplicate repo name must be " + Constants.API_MSG_DUPLICATE_PREFIX + reponame + Constants.API_MSG_DUPLICATE_SUFFIX)
 def test_should_allow_http_redirected_repos(self):
     virtual_reponame = unique_repo_name()
     self.repoclient().createVirtualRepo(virtual_reponame,
                                         "http://anyhost.com/repo")
     response = self.helper.do_http_get("/repo/virtual/" +
                                        virtual_reponame +
                                        "/repodata/repomd.xml")
     self.assertStatusCode(response, httplib.FOUND)
     self.assertEquals(response.getheader('Location'),
                       'http://anyhost.com/repo/repodata/repomd.xml')
Beispiel #13
0
 def test_remote_server(self):
     repoclient = HttpClient(self.HOST_NAME, self.PORT) 
     
     helper = IntegrationTestHelper(self.HOST_NAME, self.PORT)
     self.assertEquals(httplib.OK, helper.do_http_get('/repo/').status, 'returned response was not ok (200).')
     
     repo_name = unique_repo_name()
     repoclient.createStaticRepo(repo_name)
     repoclient.uploadRpm(repo_name, 'src/test/resources/test-artifact.rpm')
     
     path_to_rpm = "/repo/%s/noarch/test-artifact-1.2-1.noarch.rpm" % (repo_name)
     self.assertEquals(httplib.OK, helper.do_http_get(path_to_rpm).status)
     
     repoclient.generateMetadata(repo_name)
     self.assertEquals(httplib.OK, helper.do_http_get('/repo/%s/repodata/repomd.xml' % repo_name).status)
Beispiel #14
0
 def test_post_with_duplicate_repo_name(self):
     reponame = unique_repo_name()
     self.doHttpPost(Constants.HTTP_PATH_STATIC + '/', "name=" + reponame)
     response = self.doHttpPost(
         Constants.HTTP_PATH_STATIC + '/',
         "name=" + reponame)  #double POST -> repo already exists
     self.assertEquals(
         response.status, httplib.CONFLICT,
         "Response for duplicate repo name must be CONFLICT, but was" +
         str(response.status))
     msg = response.read()
     expected = Constants.API_MSG_DUPLICATE_PREFIX + reponame + Constants.API_MSG_DUPLICATE_SUFFIX
     self.assertEqual(
         msg, expected, "Response for duplicate repo name must be " +
         Constants.API_MSG_DUPLICATE_PREFIX + reponame +
         Constants.API_MSG_DUPLICATE_SUFFIX)
Beispiel #15
0
 def test_should_not_create_repo(self):
     reponame = unique_repo_name()
     testRPMFilePath = Constants.TEST_RPM_FILE_LOC + Constants.TEST_RPM_FILE_NAME
     self.assertRaises(RepoException, HttpClient.uploadRpm,
                       self.repoclient(), reponame, testRPMFilePath)
Beispiel #16
0
 def test_generate_meta_should_fail_for_not_existing_repos(self):
     repo_name = unique_repo_name()
     self.assertRaises(RepoException,
                       self.repoclient().generateMetadata, repo_name)
Beispiel #17
0
 def createNewRepoAndAssertValid(self):
     reponame = unique_repo_name()
     response = self.repoclient().createStaticRepo(reponame)
     msg = response.read()
     self.assertCreaterepoReplyValid(msg, reponame)
     return reponame
 def test_filter_by_name(self):
     self.createNewRepoAndAssertValid()
     reponame = 'some-app-321.1.1-' + unique_repo_name()
     self.repoclient().createStaticRepo(reponame)
     response = self.helper.do_http_get(Constants.HTTP_PATH_STATIC+".txt?name=some-app-.*")
     self.assertEqual(reponame + "\n", response.read())
 def test_generate_meta_should_fail_for_not_existing_repos(self):
     repo_name = unique_repo_name()
     self.assertRaises(RepoException, self.repoclient().generateMetadata, repo_name)
 def setUp(self):
     self.newRepoName = unique_repo_name()
     self.createdRepoDir = self.configService.getStaticRepoDir(self.newRepoName)
     self.mockedscheduler = self.get_mocked_scheduler()
 def test_create_repo(self):
     reponame = unique_repo_name()
     self._execute(["create", reponame])
     response = self.helper.do_http_get("/repo/" + reponame + "/")
     self.assertStatusCode(response, httplib.OK)
 def test_should_allow_http_redirected_repos(self):
     virtual_reponame = unique_repo_name()
     self.repoclient().createVirtualRepo(virtual_reponame, "http://anyhost.com/repo")
     response = self.helper.do_http_get("/repo/virtual/" + virtual_reponame + "/repodata/repomd.xml")
     self.assertStatusCode(response, httplib.FOUND)
     self.assertEquals(response.getheader('Location'), 'http://anyhost.com/repo/repodata/repomd.xml')
 def createNewRepoAndAssertValid(self):
     reponame = unique_repo_name()
     response = self.repoclient().createStaticRepo(reponame)
     msg = response.read()
     self.assertCreaterepoReplyValid(msg, reponame)
     return reponame
 def test_should_not_create_repo(self):
     reponame = unique_repo_name()
     testRPMFilePath = Constants.TEST_RPM_FILE_LOC + Constants.TEST_RPM_FILE_NAME
     self.assertRaises(RepoException, HttpClient.uploadRpm, self.repoclient(), reponame, testRPMFilePath)