def test_02_resource_created(self):
     # ResourceChange with created
     r1 = ResourceChange('http://example.org/r/1',
                         1234,
                         9999,
                         'Q2hlY2sgSW50ZWdyaXR5IQ==',
                         changetype='CREATED')
     xml = Sitemap().resource_as_xml(r1)
     self.assertEqual(
         xml,
         "<?xml version='1.0' encoding='UTF-8'?>\n<url><loc>http://example.org/r/1</loc><lastmod rs:type=\"created\">1970-01-01T00:20:34Z</lastmod><rs:size>9999</rs:size><rs:fixity type=\"md5\">Q2hlY2sgSW50ZWdyaXR5IQ==</rs:fixity></url>"
     )
     # Now make inventory
     i = Inventory()
     i.add(r1)
     inv_xml = Sitemap().resources_as_xml(i)
     self.assertEqual(
         inv_xml,
         "<?xml version='1.0' encoding='UTF-8'?>\n<urlset xmlns=\"http://www.sitemaps.org/schemas/sitemap/0.9\" xmlns:rs=\"http://www.openarchives.org/rs/terms/\"><url><loc>http://example.org/r/1</loc><lastmod rs:type=\"created\">1970-01-01T00:20:34Z</lastmod><rs:size>9999</rs:size><rs:fixity type=\"md5\">Q2hlY2sgSW50ZWdyaXR5IQ==</rs:fixity></url></urlset>"
     )
     # and try parsing back
     s = Sitemap()
     s.resource_class = ResourceChange
     i = s.inventory_parse_xml(fh=StringIO.StringIO(inv_xml))
     self.assertEqual(len(i), 1)
     r = iter(i).next()
     self.assertEqual(r.uri, 'http://example.org/r/1')
     self.assertEqual(r.timestamp, 1234)
     self.assertEqual(r.changetype, 'CREATED')
Esempio n. 2
0
    def test_30_parse_changeset(self):
        xml = "<?xml version='1.0' encoding='UTF-8'?>\n\
<urlset xmlns=\"http://www.sitemaps.org/schemas/sitemap/0.9\" xmlns:rs=\"http://resourcesync.org/change/0.1\">\
<url><loc>/tmp/rs_test/src/file_a</loc><lastmod>2012-03-14T18:37:36</lastmod><rs:size>12</rs:size><rs:changetype>UP</rs:changetype></url>\
<url><loc>/tmp/rs_test/src/file_b</loc><lastmod>2012-03-14T18:37:36</lastmod><rs:size>32</rs:size><rs:changeid>123</rs:changeid></url>\
</urlset>"
        s = Sitemap()
        s.resource_class = ResourceChange
        i = s.inventory_parse_xml(fh=StringIO.StringIO(xml))
        self.assertEqual(s.resources_created, 2, "got 2 resources")
        self.assertEqual(i.resources["/tmp/rs_test/src/file_a"].changetype, "UP")
        self.assertEqual(i.resources["/tmp/rs_test/src/file_a"].changeid, None)
        self.assertEqual(i.resources["/tmp/rs_test/src/file_b"].changetype, None)
        self.assertEqual(i.resources["/tmp/rs_test/src/file_b"].changeid, "123")
Esempio n. 3
0
    def test_30_parse_changeset(self):
        xml='<?xml version=\'1.0\' encoding=\'UTF-8\'?>\n\
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:rs="http://resourcesync.org/change/0.1">\
<url><loc>/tmp/rs_test/src/file_a</loc><lastmod>2012-03-14T18:37:36</lastmod><rs:size>12</rs:size><rs:changetype>UP</rs:changetype></url>\
<url><loc>/tmp/rs_test/src/file_b</loc><lastmod>2012-03-14T18:37:36</lastmod><rs:size>32</rs:size><rs:changeid>123</rs:changeid></url>\
</urlset>'
        s=Sitemap()
        s.resource_class=ResourceChange
        i=s.inventory_parse_xml(fh=StringIO.StringIO(xml))
        self.assertEqual( s.resources_created, 2, 'got 2 resources')
        self.assertEqual( i.resources['/tmp/rs_test/src/file_a'].changetype, 'UP' )
        self.assertEqual( i.resources['/tmp/rs_test/src/file_a'].changeid, None )
        self.assertEqual( i.resources['/tmp/rs_test/src/file_b'].changetype, None )
        self.assertEqual( i.resources['/tmp/rs_test/src/file_b'].changeid, '123' )
Esempio n. 4
0
    def test_30_parse_change_list(self):
        xml='<?xml version=\'1.0\' encoding=\'UTF-8\'?>\n\
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:rs="http://www.openarchives.org/rs/terms/">\
<url><loc>/tmp/rs_test/src/file_a</loc><lastmod>2012-03-14T18:37:36Z</lastmod><rs:md change="updated" length="12" /></url>\
<url><loc>/tmp/rs_test/src/file_b</loc><lastmod>2012-03-14T18:37:36Z</lastmod><rs:md length="32" /></url>\
</urlset>'
        s=Sitemap()
        s.resource_class=Resource
        c=s.parse_xml(fh=io.StringIO(xml))
        self.assertEqual( s.resources_created, 2, 'got 2 resources')
        i = iter(c)
        r1 = next(i)
        self.assertEqual( r1.uri, '/tmp/rs_test/src/file_a' )
        self.assertEqual( r1.change, 'updated' )
        r2 = next(i)
        self.assertEqual( r2.uri, '/tmp/rs_test/src/file_b' )
        self.assertEqual( r2.change, None )
Esempio n. 5
0
 def test_02_resource_deleted(self):
     # ResourceChange with deleted
     r1 = ResourceChange('http://example.org/r/1',1234,9999,'Q2hlY2sgSW50ZWdyaXR5IQ==',changetype='DELETED')
     self.assertEqual( Sitemap().resource_as_xml(r1), "<?xml version='1.0' encoding='UTF-8'?>\n<url><loc>http://example.org/r/1</loc><expires>1970-01-01T00:20:34Z</expires><rs:size>9999</rs:size><rs:fixity type=\"md5\">Q2hlY2sgSW50ZWdyaXR5IQ==</rs:fixity></url>" )
     # Now make inventory
     i = Inventory()
     i.add(r1)
     inv_xml = Sitemap().resources_as_xml(i)
     # and try parsing back
     s = Sitemap()
     s.resource_class = ResourceChange
     i = s.inventory_parse_xml(fh=StringIO.StringIO(inv_xml))
     self.assertEqual( len(i), 1 )
     r = iter(i).next()
     self.assertEqual( r.uri, 'http://example.org/r/1')
     self.assertEqual( r.timestamp, 1234)
     self.assertEqual( r.changetype, 'DELETED')
Esempio n. 6
0
    def test_30_parse_change_list(self):
        xml = '<?xml version=\'1.0\' encoding=\'UTF-8\'?>\n\
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:rs="http://www.openarchives.org/rs/terms/">\
<url><loc>/tmp/rs_test/src/file_a</loc><lastmod>2012-03-14T18:37:36Z</lastmod><rs:md change="updated" length="12" /></url>\
<url><loc>/tmp/rs_test/src/file_b</loc><lastmod>2012-03-14T18:37:36Z</lastmod><rs:md length="32" /></url>\
</urlset>'

        s = Sitemap()
        s.resource_class = Resource
        c = s.parse_xml(fh=io.StringIO(xml))
        self.assertEqual(s.resources_created, 2, 'got 2 resources')
        i = iter(c)
        r1 = next(i)
        self.assertEqual(r1.uri, '/tmp/rs_test/src/file_a')
        self.assertEqual(r1.change, 'updated')
        r2 = next(i)
        self.assertEqual(r2.uri, '/tmp/rs_test/src/file_b')
        self.assertEqual(r2.change, None)
Esempio n. 7
0
 def test_02_resource_created(self):
     # ResourceChange with created
     r1 = ResourceChange('http://example.org/r/1',1234,9999,'Q2hlY2sgSW50ZWdyaXR5IQ==',changetype='CREATED')
     xml = Sitemap().resource_as_xml(r1)
     self.assertEqual( xml, "<?xml version='1.0' encoding='UTF-8'?>\n<url><loc>http://example.org/r/1</loc><lastmod rs:type=\"created\">1970-01-01T00:20:34Z</lastmod><rs:size>9999</rs:size><rs:fixity type=\"md5\">Q2hlY2sgSW50ZWdyaXR5IQ==</rs:fixity></url>" )
     # Now make inventory
     i = Inventory()
     i.add(r1)
     inv_xml = Sitemap().resources_as_xml(i)
     self.assertEqual( inv_xml, "<?xml version='1.0' encoding='UTF-8'?>\n<urlset xmlns=\"http://www.sitemaps.org/schemas/sitemap/0.9\" xmlns:rs=\"http://www.openarchives.org/rs/terms/\"><url><loc>http://example.org/r/1</loc><lastmod rs:type=\"created\">1970-01-01T00:20:34Z</lastmod><rs:size>9999</rs:size><rs:fixity type=\"md5\">Q2hlY2sgSW50ZWdyaXR5IQ==</rs:fixity></url></urlset>" )
     # and try parsing back
     s = Sitemap()
     s.resource_class = ResourceChange
     i = s.inventory_parse_xml(fh=StringIO.StringIO(inv_xml))
     self.assertEqual( len(i), 1 )
     r = iter(i).next()
     self.assertEqual( r.uri, 'http://example.org/r/1')
     self.assertEqual( r.timestamp, 1234)
     self.assertEqual( r.changetype, 'CREATED')
 def test_02_resource_deleted(self):
     # ResourceChange with deleted
     r1 = ResourceChange('http://example.org/r/1',
                         1234,
                         9999,
                         'Q2hlY2sgSW50ZWdyaXR5IQ==',
                         changetype='DELETED')
     self.assertEqual(
         Sitemap().resource_as_xml(r1),
         "<?xml version='1.0' encoding='UTF-8'?>\n<url><loc>http://example.org/r/1</loc><expires>1970-01-01T00:20:34Z</expires><rs:size>9999</rs:size><rs:fixity type=\"md5\">Q2hlY2sgSW50ZWdyaXR5IQ==</rs:fixity></url>"
     )
     # Now make inventory
     i = Inventory()
     i.add(r1)
     inv_xml = Sitemap().resources_as_xml(i)
     # and try parsing back
     s = Sitemap()
     s.resource_class = ResourceChange
     i = s.inventory_parse_xml(fh=StringIO.StringIO(inv_xml))
     self.assertEqual(len(i), 1)
     r = iter(i).next()
     self.assertEqual(r.uri, 'http://example.org/r/1')
     self.assertEqual(r.timestamp, 1234)
     self.assertEqual(r.changetype, 'DELETED')