Esempio n. 1
0
    def test_all_resource_fields(self):
        license = LicenseFactory()
        resource = ResourceFactory(format='csv')
        dataset = DatasetFactory(resources=[resource], license=license)
        permalink = url_for('datasets.resource',
                            id=resource.id,
                            _external=True)

        r = resource_to_rdf(resource, dataset)

        assert r.value(DCT.title) == Literal(resource.title)
        assert r.value(DCT.description) == Literal(resource.description)
        assert r.value(DCT.issued) == Literal(resource.published)
        assert r.value(DCT.modified) == Literal(resource.modified)
        assert r.value(DCT.license).identifier == URIRef(license.url)
        assert r.value(DCT.rights) == Literal(license.title)
        assert r.value(DCAT.downloadURL).identifier == URIRef(resource.url)
        assert r.value(DCAT.accessURL).identifier == URIRef(permalink)
        assert r.value(DCAT.bytesSize) == Literal(resource.filesize)
        assert r.value(DCAT.mediaType) == Literal(resource.mime)
        assert r.value(DCT.term('format')) == Literal(resource.format)

        checksum = r.value(SPDX.checksum)
        assert r.graph.value(checksum.identifier, RDF.type) == SPDX.Checksum
        assert (r.graph.value(checksum.identifier, SPDX.algorithm)
                == SPDX.checksumAlgorithm_sha1)
        assert (checksum.value(SPDX.checksumValue)
                == Literal(resource.checksum.value))
Esempio n. 2
0
    def test_minimal_resource_fields(self):
        resource = ResourceFactory()

        r = resource_to_rdf(resource)
        graph = r.graph
        distribs = graph.subjects(RDF.type, DCAT.Distribution)

        assert isinstance(r, RdfResource)
        assert len(list(distribs)) == 1

        assert graph.value(r.identifier, RDF.type) == DCAT.Distribution
        assert r.value(DCT.title) == Literal(resource.title)
        assert r.value(DCAT.downloadURL).identifier == URIRef(resource.url)
        assert r.value(DCT.issued) == Literal(resource.published)
        assert r.value(DCT.modified) == Literal(resource.modified)
Esempio n. 3
0
    def test_minimal_resource_fields(self):
        resource = ResourceFactory()

        r = resource_to_rdf(resource)
        graph = r.graph
        distribs = graph.subjects(RDF.type, DCAT.Distribution)

        self.assertIsInstance(r, RdfResource)
        self.assertEqual(len(list(distribs)), 1)

        self.assertEqual(graph.value(r.identifier, RDF.type),
                         DCAT.Distribution)
        self.assertEqual(r.value(DCT.title), Literal(resource.title))
        self.assertEqual(r.value(DCAT.downloadURL).identifier,
                         URIRef(resource.url))
        self.assertEqual(r.value(DCT.issued), Literal(resource.published))
        self.assertEqual(r.value(DCT.modified), Literal(resource.modified))