예제 #1
0
    def test_parser(self):
        # function to parse url locally stored
        # and test general information

        BODY_TEST = "how can i use Openstack's authentication api with Python plzz..im gettin always the same error 401 (im tryin to acces Keystone with Python program and i need to post some credentials)"
        TAGS_TEST = [u'python', u'keystone#openstack', u'error401', u'Ask', u' OpenStack', u'forum', u'community', u'cloud', u'iaas'] 
        ANSWER_BODYTEST = """answered2014-03-20 10:50:03 -0500Bill@Metacloud256●4●5http://www.metacloud.com/updated2014-03-20 11:19:31 -0500I done this with Python locally, here is a snip of code using v2.0 auth withhttp://example.com:5000/v2.0from keystoneclient.v2_0 import clientkeystone = client.Client(username="******", password="******", tenant_name="Admin", auth_url="http://api-example.client.acme.net:5000/v2.0")this will get you in, then you need to do what ever it is you wanting to do."""

        # Fake URL
        URL = "http://www.example.com/"
        questionHTML = QuestionHTML(URL)

        # Overwritting variable bsoup that contains HTML
        fd = open(FILE_PATH, "r")
        html = fd.read()
        html = self._read_file(FILE_PATH)
        questionHTML.bsoup = BeautifulSoup(html)
        
        body =  questionHTML.getBody() 
        tags = questionHTML.getTags()
        answers = questionHTML.getAnswers(1) #fake question id

        self.assertEqual(BODY_TEST, body)
        self.assertEqual(TAGS_TEST, tags)
        self.assertEqual(len(answers), 1)

        answer = answers[0]

        self.assertEqual(answer.identifier, 25632)
        self.assertEqual(answer.body, ANSWER_BODYTEST)
        self.assertEqual(answer.user_identifier, u'2106') 
        self.assertEqual(answer.submitted_on, '2014-03-20 10:50:03 -0500')
        self.assertEqual(answer.votes, 0)
예제 #2
0
    def test_tags(self):
        # function that tests number of tags and tags per file
        TAGS_FILE_PATH = [u'rdo', u'Ask', u' OpenStack', u'forum', u'community', u'cloud', u'iaas']
        TAGS_FILE_PATH_6_ANSWERS = [u'cinder', u'migrated', u'Ask', u' OpenStack', u'forum', u'community', u'cloud', u'iaas']
        TAGS_FILE_PATH_0_ANSWERS = [u'python', u'keystone#openstack', u'error401', u'Ask', u' OpenStack', u'forum', u'community', u'cloud', u'iaas']
        
        # Fake URL
        URL = "http://www.example.com/"
        questionHTML = QuestionHTML(URL)
        # Overwritting variable bsoup that contains HTML
        html = self._read_file(FILE_PATH_0_ANSWERS)
        questionHTML.bsoup = BeautifulSoup(html)
        tags = questionHTML.getTags() #fake question id
        self.assertEqual(7, len(tags))
        self.assertEqual(TAGS_FILE_PATH, tags)

        # Fake URL
        URL = "http://www.example.com/"
        questionHTML = QuestionHTML(URL)
        # Overwritting variable bsoup that contains HTML
        html = self._read_file(FILE_PATH_6_ANSWERS)
        questionHTML.bsoup = BeautifulSoup(html)
        tags = questionHTML.getTags() #fake question id
        self.assertEqual(8, len(tags))
        self.assertEqual(TAGS_FILE_PATH_6_ANSWERS, tags)

        # Fake URL
        URL = "http://www.example.com/"
        questionHTML = QuestionHTML(URL)
        # Overwritting variable bsoup that contains HTML
        html = self._read_file(FILE_PATH)
        questionHTML.bsoup = BeautifulSoup(html)
        tags = questionHTML.getTags() #fake question id
        self.assertEqual(9, len(tags))
        self.assertEqual(TAGS_FILE_PATH_0_ANSWERS, tags)
예제 #3
0
    def test_answers(self):
        # function to test number of answers in
        # several data files

        # Fake URL
        URL = "http://www.example.com/"
        questionHTML = QuestionHTML(URL)
        # Overwritting variable bsoup that contains HTML
        html = self._read_file(FILE_PATH_0_ANSWERS)
        questionHTML.bsoup = BeautifulSoup(html)
        answers = questionHTML.getAnswers(1)  #fake question id

        self.assertEqual(0, len(answers))

        # Fake URL
        URL = "http://www.example.com/"
        questionHTML = QuestionHTML(URL)
        # Overwritting variable bsoup that contains HTML
        html = self._read_file(FILE_PATH_6_ANSWERS)
        questionHTML.bsoup = BeautifulSoup(html)
        answers = questionHTML.getAnswers(1)  #fake question id

        self.assertEqual(6, len(answers))
예제 #4
0
    def test_answers(self):
        # function to test number of answers in 
        # several data files

        # Fake URL
        URL = "http://www.example.com/"
        questionHTML = QuestionHTML(URL)
        # Overwritting variable bsoup that contains HTML
        html = self._read_file(FILE_PATH_0_ANSWERS)
        questionHTML.bsoup = BeautifulSoup(html)
        answers = questionHTML.getAnswers(1) #fake question id
        
        self.assertEqual(0, len(answers))

        # Fake URL
        URL = "http://www.example.com/"
        questionHTML = QuestionHTML(URL)
        # Overwritting variable bsoup that contains HTML
        html = self._read_file(FILE_PATH_6_ANSWERS)
        questionHTML.bsoup = BeautifulSoup(html)
        answers = questionHTML.getAnswers(1) #fake question id

        self.assertEqual(6, len(answers))
예제 #5
0
    def test_parser(self):
        # function to parse url locally stored
        # and test general information

        BODY_TEST = "how can i use Openstack's authentication api with Python plzz..im gettin always the same error 401 (im tryin to acces Keystone with Python program and i need to post some credentials)"
        TAGS_TEST = [
            u'python', u'keystone#openstack', u'error401', u'Ask',
            u' OpenStack', u'forum', u'community', u'cloud', u'iaas'
        ]
        ANSWER_BODYTEST = """answered2014-03-20 10:50:03 -0500Bill@Metacloud256●4●5http://www.metacloud.com/updated2014-03-20 11:19:31 -0500I done this with Python locally, here is a snip of code using v2.0 auth withhttp://example.com:5000/v2.0from keystoneclient.v2_0 import clientkeystone = client.Client(username="******", password="******", tenant_name="Admin", auth_url="http://api-example.client.acme.net:5000/v2.0")this will get you in, then you need to do what ever it is you wanting to do."""

        # Fake URL
        URL = "http://www.example.com/"
        questionHTML = QuestionHTML(URL)

        # Overwritting variable bsoup that contains HTML
        fd = open(FILE_PATH, "r")
        html = fd.read()
        html = self._read_file(FILE_PATH)
        questionHTML.bsoup = BeautifulSoup(html)

        body = questionHTML.getBody()
        tags = questionHTML.getTags()
        answers = questionHTML.getAnswers(1)  #fake question id

        self.assertEqual(BODY_TEST, body)
        self.assertEqual(TAGS_TEST, tags)
        self.assertEqual(len(answers), 1)

        answer = answers[0]

        self.assertEqual(answer.identifier, 25632)
        self.assertEqual(answer.body, ANSWER_BODYTEST)
        self.assertEqual(answer.user_identifier, u'2106')
        self.assertEqual(answer.submitted_on, '2014-03-20 10:50:03 -0500')
        self.assertEqual(answer.votes, 0)
예제 #6
0
    def test_comments(self):
        # function that tests comments
        QID_FILE_PATH = 25627
        AID_FILE_PATH = 25632
        QID_FILE_PATH_0_ANSWERS = 25960
        QID_FILE_PATH_6_ANSWERS = 21353
        AID_FILE_PATH_6_ANSWERS = [25941, 25667, 21357, 21356, 21355, 21354]

        # Fake URL
        URL = "http://www.example.com/"
        questionHTML = QuestionHTML(URL)
        # Overwritting variable bsoup that contains HTML
        html = self._read_file(FILE_PATH)
        questionHTML.bsoup = BeautifulSoup(html)
        comments = questionHTML.getComments("question", QID_FILE_PATH)
        self.assertEqual(1, len(comments))
        comments = questionHTML.getComments("answer", AID_FILE_PATH)
        self.assertEqual(0, len(comments))

        # Fake URL
        URL = "http://www.example.com/"
        questionHTML = QuestionHTML(URL)
        # Overwritting variable bsoup that contains HTML
        html = self._read_file(FILE_PATH_6_ANSWERS)
        questionHTML.bsoup = BeautifulSoup(html)
        comments = questionHTML.getComments("question",
                                            QID_FILE_PATH_6_ANSWERS)
        self.assertEqual(0, len(comments))
        for aid in AID_FILE_PATH_6_ANSWERS:
            comments = questionHTML.getComments("answer", aid)
            self.assertEqual(0, len(comments))

        # Fake URL
        URL = "http://www.example.com/"
        questionHTML = QuestionHTML(URL)
        # Overwritting variable bsoup that contains HTML
        html = self._read_file(FILE_PATH_0_ANSWERS)
        questionHTML.bsoup = BeautifulSoup(html)
        comments = questionHTML.getComments("question",
                                            QID_FILE_PATH_0_ANSWERS)
        self.assertEqual(0, len(comments))
예제 #7
0
    def test_tags(self):
        # function that tests number of tags and tags per file
        TAGS_FILE_PATH = [
            u'rdo', u'Ask', u' OpenStack', u'forum', u'community', u'cloud',
            u'iaas'
        ]
        TAGS_FILE_PATH_6_ANSWERS = [
            u'cinder', u'migrated', u'Ask', u' OpenStack', u'forum',
            u'community', u'cloud', u'iaas'
        ]
        TAGS_FILE_PATH_0_ANSWERS = [
            u'python', u'keystone#openstack', u'error401', u'Ask',
            u' OpenStack', u'forum', u'community', u'cloud', u'iaas'
        ]

        # Fake URL
        URL = "http://www.example.com/"
        questionHTML = QuestionHTML(URL)
        # Overwritting variable bsoup that contains HTML
        html = self._read_file(FILE_PATH_0_ANSWERS)
        questionHTML.bsoup = BeautifulSoup(html)
        tags = questionHTML.getTags()  #fake question id
        self.assertEqual(7, len(tags))
        self.assertEqual(TAGS_FILE_PATH, tags)

        # Fake URL
        URL = "http://www.example.com/"
        questionHTML = QuestionHTML(URL)
        # Overwritting variable bsoup that contains HTML
        html = self._read_file(FILE_PATH_6_ANSWERS)
        questionHTML.bsoup = BeautifulSoup(html)
        tags = questionHTML.getTags()  #fake question id
        self.assertEqual(8, len(tags))
        self.assertEqual(TAGS_FILE_PATH_6_ANSWERS, tags)

        # Fake URL
        URL = "http://www.example.com/"
        questionHTML = QuestionHTML(URL)
        # Overwritting variable bsoup that contains HTML
        html = self._read_file(FILE_PATH)
        questionHTML.bsoup = BeautifulSoup(html)
        tags = questionHTML.getTags()  #fake question id
        self.assertEqual(9, len(tags))
        self.assertEqual(TAGS_FILE_PATH_0_ANSWERS, tags)
예제 #8
0
    def test_comments(self):
        # function that tests comments
        QID_FILE_PATH = 25627
        AID_FILE_PATH = 25632
        QID_FILE_PATH_0_ANSWERS = 25960
        QID_FILE_PATH_6_ANSWERS = 21353
        AID_FILE_PATH_6_ANSWERS = [25941, 25667, 21357, 21356, 21355, 21354]

        # Fake URL
        URL = "http://www.example.com/"
        questionHTML = QuestionHTML(URL)
        # Overwritting variable bsoup that contains HTML
        html = self._read_file(FILE_PATH)
        questionHTML.bsoup = BeautifulSoup(html)
        comments = questionHTML.getComments("question", QID_FILE_PATH)
        self.assertEqual(1, len(comments))
        comments = questionHTML.getComments("answer", AID_FILE_PATH)
        self.assertEqual(0, len(comments))

        # Fake URL
        URL = "http://www.example.com/"
        questionHTML = QuestionHTML(URL)
        # Overwritting variable bsoup that contains HTML
        html = self._read_file(FILE_PATH_6_ANSWERS)
        questionHTML.bsoup = BeautifulSoup(html)
        comments = questionHTML.getComments("question", QID_FILE_PATH_6_ANSWERS)
        self.assertEqual(0, len(comments))
        for aid in AID_FILE_PATH_6_ANSWERS:
            comments = questionHTML.getComments("answer", aid)
            self.assertEqual(0, len(comments))

        # Fake URL
        URL = "http://www.example.com/"
        questionHTML = QuestionHTML(URL)
        # Overwritting variable bsoup that contains HTML
        html = self._read_file(FILE_PATH_0_ANSWERS)
        questionHTML.bsoup = BeautifulSoup(html)
        comments = questionHTML.getComments("question", QID_FILE_PATH_0_ANSWERS)
        self.assertEqual(0, len(comments))