Example #1
0
    def test_get_pages_from_allrevisions_from_date(self):
        HTTPServer.routes()
        body = read_file('data/mediawiki/mediawiki_pages_allrevisions.json')
        client = MediaWikiClient(MEDIAWIKI_SERVER_URL)
        namespaces = ['0']
        str_date = '2016-01-01 00:00'
        dt = str_to_datetime(str_date)
        from_date = datetime_to_utc(dt)
        response = client.get_pages_from_allrevisions(namespaces, from_date)
        req = HTTPServer.requests_http[-1]
        self.assertEqual(response, body)
        self.assertEqual(req.method, 'GET')
        self.assertRegex(req.path, '/api.php')
        # Check request params
        expected = {
            'action': ['query'],
            'list': ['allrevisions'],
            'arvnamespace': ['0'],
            'arvdir': ['newer'],
            'arvlimit': ['max'],
            'format': ['json'],
            'arvprop': ['ids'],
            'arvstart': ['2016-01-01T00:00:00Z']
        }
        self.assertDictEqual(req.querystring, expected)

        from_date = datetime.datetime(2016, 1, 1, 0, 0, 0)

        with self.assertRaises(ValueError):
            _ = client.get_pages_from_allrevisions(namespaces, from_date)
 def __test_get_version(self, version, response_num=200):
     if response_num != 200:
         HTTPServer.routes('1.28', response_num=response_num)
     elif version == "1.23":
         HTTPServer.routes('1.23')
         body = read_file('data/mediawiki/mediawiki_siteinfo_1.23.json')
         response_ok = [1, 23]
     elif version == "1.28":
         HTTPServer.routes('1.28')
         body = read_file('data/mediawiki/mediawiki_siteinfo_1.28.json')
         response_ok = [1, 28]
     else:
         self.assertEqual(False)
     client = MediaWikiClient(MEDIAWIKI_SERVER_URL)
     response = client.get_version()
     req = HTTPServer.requests_http[-1]
     self.assertEqual(response, response_ok)
     self.assertEqual(req.method, 'GET')
     self.assertRegex(req.path, '/api.php')
     # Check request params
     expected = {
         'action': ['query'],
         'meta': ['siteinfo'],
         'format': ['json']
     }
     self.assertDictEqual(req.querystring, expected)
Example #3
0
 def test_get_namespaces(self):
     HTTPServer.routes()
     body = read_file('data/mediawiki/mediawiki_namespaces.json')
     client = MediaWikiClient(MEDIAWIKI_SERVER_URL)
     response = client.get_namespaces()
     req = HTTPServer.requests_http[-1]
     self.assertEqual(response, body)
     self.assertEqual(req.method, 'GET')
     self.assertRegex(req.path, '/api.php')
     # Check request params
     expected = {
         'action': ['query'],
         'meta': ['siteinfo'],
         'siprop': ['namespaces'],
         'format': ['json']
     }
     self.assertDictEqual(req.querystring, expected)
Example #4
0
 def test_get_revisions(self):
     HTTPServer.routes()
     body = read_file('data/mediawiki/mediawiki_page_476583_revisions.json')
     client = MediaWikiClient(MEDIAWIKI_SERVER_URL)
     response = client.get_revisions('VisualEditor')
     req = HTTPServer.requests_http[-1]
     self.assertEqual(response, body)
     self.assertEqual(req.method, 'GET')
     self.assertRegex(req.path, '/api.php')
     # Check request params
     expected = {
         'action': ['query'],
         'prop': ['revisions'],
         'titles': ['VisualEditor'],
         'format': ['json'],
         'rvlimit': ['max'],
         'rvdir': ['newer']
     }
     self.assertDictEqual(req.querystring, expected)
Example #5
0
 def test_get_pages(self):
     HTTPServer.routes()
     body = read_file('data/mediawiki/mediawiki_pages_all.json')
     client = MediaWikiClient(MEDIAWIKI_SERVER_URL)
     namespace = '0'
     response = client.get_pages(namespace)
     req = HTTPServer.requests_http[-1]
     self.assertEqual(response, body)
     self.assertEqual(req.method, 'GET')
     self.assertRegex(req.path, '/api.php')
     # Check request params
     expected = {
         'action': ['query'],
         'list': ['allpages'],
         'apnamespace': ['0'],
         'aplimit': ['max'],
         'format': ['json']
     }
     self.assertDictEqual(req.querystring, expected)
 def test_get_recent_pages_rccontinue(self):
     HTTPServer.routes()
     body = read_file('data/mediawiki/mediawiki_pages_recent_changes.json')
     client = MediaWikiClient(MEDIAWIKI_SERVER_URL)
     namespaces = ['0']
     response = client.get_recent_pages(namespaces, rccontinue="xxx")
     req = HTTPServer.requests_http[-1]
     self.assertEqual(response, body)
     self.assertEqual(req.method, 'GET')
     self.assertRegex(req.path, '/api.php')
     # Check request params
     expected = {
         'action': ['query'],
         'list': ['recentchanges'],
         'format': ['json'],
         'rclimit': ['max'],
         'rcnamespace': ['0'],
         'rcprop': ['title|timestamp|ids'],
         'rccontinue': ['xxx']
     }
     self.assertDictEqual(req.querystring, expected)
 def test_get_pages_from_allrevisions_arvcontinue(self):
     HTTPServer.routes()
     body = read_file('data/mediawiki/mediawiki_pages_allrevisions.json')
     client = MediaWikiClient(MEDIAWIKI_SERVER_URL)
     namespaces = ['0']
     response = client.get_pages_from_allrevisions(namespaces, arvcontinue="xxx")
     req = HTTPServer.requests_http[-1]
     self.assertEqual(response, body)
     self.assertEqual(req.method, 'GET')
     self.assertRegex(req.path, '/api.php')
     # Check request params
     expected = {
         'action': ['query'],
         'list': ['allrevisions'],
         'arvnamespace': ['0'],
         'arvdir': ['newer'],
         'arvlimit': ['max'],
         'format': ['json'],
         'arvprop': ['ids'],
         'arvcontinue': ['xxx']
     }
     self.assertDictEqual(req.querystring, expected)
    def test_get_revisions_last_date(self):
        HTTPServer.routes()
        body = read_file('data/mediawiki/mediawiki_page_476583_revisions.json')
        client = MediaWikiClient(MEDIAWIKI_SERVER_URL)

        str_date = '2016-01-01 00:00'
        dt = str_to_datetime(str_date)
        response = client.get_revisions(476583, last_date=dt)
        req = HTTPServer.requests_http[-1]
        self.assertEqual(response, body)
        self.assertEqual(req.method, 'GET')
        self.assertRegex(req.path, '/api.php')
        # Check request params
        expected = {
            'action': ['query'],
            'prop': ['revisions'],
            'pageids': ['476583'],
            'format': ['json'],
            'rvlimit': ['max'],
            'rvdir': ['newer'],
            'rvstart': ['2016-01-01T00:00:00 00:00']
        }
        self.assertDictEqual(req.querystring, expected)