Esempio n. 1
0
 def test_LookupLimitSearch(self):
     searchTerms = ["brazil", "seattle", "poland", "comedy"]
     # make sure to get a unique cookie, to start over
     self.req = Request()
     self.req.addField(iPediaFields.getCookie, g_nonUniqueDeviceInfo)
     self.getResponse([iPediaFields.transactionId, iPediaFields.cookie])
     cookie = self.rsp.getField(iPediaFields.cookie)
     lookupsToDo = g_unregisteredLookupsLimit + 10
     for t in range(lookupsToDo):
         searchTerm = searchTerms[t % len(searchTerms)]
         self.req = Request()
         self.req.addField(iPediaFields.cookie, cookie)
         self.req.addField(iPediaFields.getArticle, searchTerm)
         self.getResponse([iPediaFields.transactionId])
         if self.rsp.hasField(iPediaFields.error):
             self.assertError(ServerErrors.lookupLimitReached)
             self.assertEqual(t, g_unregisteredLookupsLimit)
             return
         else:
             self.assertEqual(True,
                              self.rsp.hasField(iPediaFields.articleTitle))
             self.assertEqual(True,
                              self.rsp.hasField(iPediaFields.articleBody))
             self.assertEqual(True,
                              self.rsp.hasField(iPediaFields.formatVersion))
             self.assertFieldEqual(self.rsp, iPediaFields.formatVersion,
                                   DEFINITION_FORMAT_VERSION)
     # didn't find response with an error so far, so there's a bug in the server
     self.assertEqual(True, False)
Esempio n. 2
0
 def test_DoubleRegistrationUniqueDeviceInfo(self):
     self.req = Request()
     self.req.addField(iPediaFields.getCookie, g_uniqueDeviceInfo)
     self.getResponse([iPediaFields.transactionId, iPediaFields.cookie])
     cookie = self.rsp.getField(iPediaFields.cookie)
     self.req = Request()
     self.req.addField(iPediaFields.getCookie, g_uniqueDeviceInfo)
     self.getResponse([iPediaFields.transactionId, iPediaFields.cookie])
     cookie2 = self.rsp.getField(iPediaFields.cookie)
     self.assertEqual(cookie, cookie2)
Esempio n. 3
0
 def test_GetCookieAndCookie(self):
     self.req = Request()
     self.req.addField(iPediaFields.getCookie, g_exampleDeviceInfo)
     self.getResponse([iPediaFields.cookie, iPediaFields.transactionId])
     cookie = self.rsp.getField(iPediaFields.cookie)
     self.req = Request()
     self.req.addField(iPediaFields.cookie, cookie)
     self.req.addField(iPediaFields.getCookie, g_exampleDeviceInfo)
     self.getResponse([iPediaFields.transactionId, iPediaFields.error])
     self.assertError(ServerErrors.malformedRequest)
Esempio n. 4
0
 def test_ProtocolMissing(self):
     self.req = Request()
     self.req.clearFields()
     self.req.addTransactionId()
     self.req.addField(iPediaFields.clientInfo, "Python test client 1.0")
     self.getResponse([iPediaFields.error, iPediaFields.transactionId])
     self.assertError(ServerErrors.malformedRequest)
Esempio n. 5
0
 def test_ClientInfoMissing(self):
     self.req = Request()
     self.req.clearFields()
     self.req.addTransactionId()
     self.req.addField(iPediaFields.protocolVersion, "1")
     self.getResponse([iPediaFields.error, iPediaFields.transactionId])
     self.assertError(ServerErrors.malformedRequest)
Esempio n. 6
0
    def _get_metrics(self):
        print "metrics got called"
        request = Request(Request.Method.GET,
                          '/metrics?rsid={}'.format(self._suite_id))
        response = self._client.execute(request)

        assert isinstance(response, list)
        metrics = [to_dynamic_object(metric) for metric in response]

        return metrics
Esempio n. 7
0
    def _get_dimensions(self):
        print "dimensions got called"
        request = Request(Request.Method.GET,
                          '/dimensions?rsid={}'.format(self._suite_id))
        response = self._client.execute(request)

        assert isinstance(response, list)
        dimensions = [to_dynamic_object(dimension) for dimension in response]

        return dimensions
Esempio n. 8
0
    def list_reports_suites(self):
        request = Request(Request.Method.GET,
                          '/collections/suites?expansion=name')
        response = self._client.execute(request)

        content = response['content']
        reports_suites = [ReportSuite(
            rs['rsid'], rs['name'], self._client) for rs in content]

        return reports_suites
Esempio n. 9
0
    def _get_segments(self):
        print "segments got called"
        request = Request(Request.Method.GET,
                          '/segments?rsid={}'.format(self._suite_id))
        response = self._client.execute(request)
        content = response['content']

        assert isinstance(content, list)
        segments = [to_dynamic_object(segment) for segment in content]

        return segments
Esempio n. 10
0
 def disable_test_GetSeattleWithValidRegcode(self):
     title = "seattle"
     self.req = Request()
     self.req.addField(iPediaFields.getArticle, title)
     self.req.addField(iPediaFields.regCode, testValidRegCode)
     self.getResponse([
         iPediaFields.transactionId, iPediaFields.articleBody,
         iPediaFields.articleTitle, iPediaFields.reverseLinks,
         iPediaFields.formatVersion
     ])
     self.assertFieldEqual(self.rsp, iPediaFields.formatVersion,
                           DEFINITION_FORMAT_VERSION)
Esempio n. 11
0
 def test_NoLookupLimitInUnlockedVersion(self):
     searchTerms = ["brazil", "seattle", "poland", "comedy"]
     # make sure to get a unique cookie, to start over
     self.req = Request()
     self.req.addField(iPediaFields.getCookie, g_nonUniqueDeviceInfo)
     self.getResponse([iPediaFields.transactionId, iPediaFields.cookie])
     cookie = self.rsp.getField(iPediaFields.cookie)
     lookupsToDo = g_unregisteredLookupsLimit + 10
     for t in range(lookupsToDo):
         searchTerm = searchTerms[t % len(searchTerms)]
         self.req = Request()
         self.req.addField(iPediaFields.cookie, cookie)
         self.req.addField(iPediaFields.getArticleU, searchTerm)
         self.getResponse([iPediaFields.transactionId])
         self.assertEqual(True,
                          self.rsp.hasField(iPediaFields.articleTitle))
         self.assertEqual(True, self.rsp.hasField(iPediaFields.articleBody))
         self.assertEqual(True,
                          self.rsp.hasField(iPediaFields.formatVersion))
         self.assertFieldEqual(self.rsp, iPediaFields.formatVersion,
                               DEFINITION_FORMAT_VERSION)
Esempio n. 12
0
 def test_VerifyRegCodeAsFirstRequest(self):
     # this is what client sends when it sends Verify-Register-Code
     # as the first request ever
     self.req = Request()
     self.req.addField(iPediaFields.getArticleCount, None)
     self.req.addField(iPediaFields.getDatabaseTime, None)
     self.req.addField(iPediaFields.verifyRegCode, testValidRegCode)
     self.req.addField(iPediaFields.getCookie, g_exampleDeviceInfo)
     self.getResponse([
         iPediaFields.cookie, iPediaFields.transactionId,
         iPediaFields.regCodeValid
     ])
     self.assertFieldEqual(self.rsp, iPediaFields.regCodeValid, 1)
Esempio n. 13
0
 def test_GetCookieAndRegCode(self):
     self.req = Request()
     self.req.addField(iPediaFields.getCookie, g_exampleDeviceInfo)
     self.req.addField(iPediaFields.regCode, testValidRegCode)
     self.getResponse([iPediaFields.transactionId, iPediaFields.error])
     self.assertError(ServerErrors.malformedRequest)
Esempio n. 14
0
 def test_ClientInfoMalformed(self):
     self.req = Request("1", None)
     self.getResponse([iPediaFields.error])
     self.assertError(ServerErrors.requestArgumentMissing)
Esempio n. 15
0
 def test_InvalidProtocolVer(self):
     self.req = Request(protocolVer="2")
     self.req.addCookie()
     self.getResponse([iPediaFields.error, iPediaFields.transactionId])
     self.assertError(ServerErrors.invalidProtocolVersion)
Esempio n. 16
0
 def test_InvalidDeviceInfo2(self):
     self.req = Request()
     self.req.addField(iPediaFields.getCookie, "PL:blaha")
     self.req.addField(iPediaFields.getArticle, "seattle")
     self.getResponse([iPediaFields.transactionId, iPediaFields.error])
     self.assertError(ServerErrors.unsupportedDevice)
Esempio n. 17
0
 def test_InvalidCookie(self):
     # this is guaranteed to be an invalid cookie
     self.req = Request()
     self.req.addField(iPediaFields.cookie, "baraba")
     self.getResponse([iPediaFields.error, iPediaFields.transactionId])
     self.assertError(ServerErrors.invalidCookie)