def test_build_with_validity_as_date(self): level = 'level' code = 'code' validity = faker.past_date() geoid = geoids.build(level, code, validity) assert geoid == 'level:code@{0:%Y-%m-%d}'.format(validity)
def test_build_with_validity_as_date(self): level = 'level' code = 'code' validity = faker.past_date() geoid = geoids.build(level, code, validity) assert geoid == 'level:code@{0:%Y-%m-%d}'.format(validity)
def test_from_zone_with_validity(self): level = 'level' code = 'code' start = faker.past_date() validity = {'start': start, 'end': geoids.END_OF_TIME} zone = GeoZone(level=level, code=code, validity=validity) geoid = geoids.from_zone(zone) assert geoid == 'level:code@{0:%Y-%m-%d}'.format(start)
def test_from_zone_with_validity(self): level = 'level' code = 'code' start = faker.past_date() validity = {'start': start, 'end': geoids.END_OF_TIME} zone = GeoZone(level=level, code=code, validity=validity) geoid = geoids.from_zone(zone) assert geoid == 'level:code@{0:%Y-%m-%d}'.format(start)
def test_parse_temporal_as_iso_interval(self): start = faker.past_date(start_date='-30d') end = faker.future_date(end_date='+30d') pot = Literal('{0}/{1}'.format(start.isoformat(), end.isoformat())) daterange = temporal_from_rdf(pot) assert isinstance(daterange, db.DateRange) assert daterange.start == start assert daterange.end == end
def test_temporal_coverage(self): start = faker.past_date(start_date='-30d') end = faker.future_date(end_date='+30d') temporal_coverage = db.DateRange(start=start, end=end) dataset = DatasetFactory(temporal_coverage=temporal_coverage) d = dataset_to_rdf(dataset) pot = d.value(DCT.temporal) assert pot.value(RDF.type).identifier == DCT.PeriodOfTime assert pot.value(SCHEMA.startDate).toPython() == start assert pot.value(SCHEMA.endDate).toPython() == end
def test_parse_temporal_as_schema_format(self): node = BNode() g = Graph() start = faker.past_date(start_date='-30d') end = faker.future_date(end_date='+30d') g.set((node, RDF.type, DCT.PeriodOfTime)) g.set((node, SCHEMA.startDate, Literal(start))) g.set((node, SCHEMA.endDate, Literal(end))) daterange = temporal_from_rdf(g.resource(node)) assert isinstance(daterange, db.DateRange) assert daterange.start == start assert daterange.end == end
def test_all_fields(self): uri = 'https://test.org/dataset' node = URIRef(uri) g = Graph() id = faker.uuid4() title = faker.sentence() acronym = faker.word() description = faker.paragraph() tags = faker.words(nb=3) start = faker.past_date(start_date='-30d') end = faker.future_date(end_date='+30d') g.set((node, RDF.type, DCAT.Dataset)) g.set((node, DCT.identifier, Literal(id))) g.set((node, DCT.title, Literal(title))) g.set((node, SKOS.altLabel, Literal(acronym))) g.set((node, DCT.description, Literal(description))) g.set((node, DCT.accrualPeriodicity, FREQ.daily)) pot = BNode() g.add((node, DCT.temporal, pot)) g.set((pot, RDF.type, DCT.PeriodOfTime)) g.set((pot, SCHEMA.startDate, Literal(start))) g.set((pot, SCHEMA.endDate, Literal(end))) for tag in tags: g.add((node, DCAT.keyword, Literal(tag))) dataset = dataset_from_rdf(g) dataset.validate() assert isinstance(dataset, Dataset) assert dataset.title == title assert dataset.acronym == acronym assert dataset.description == description assert dataset.frequency == 'daily' assert set(dataset.tags) == set(tags) assert isinstance(dataset.temporal_coverage, db.DateRange) assert dataset.temporal_coverage.start == start assert dataset.temporal_coverage.end == end extras = dataset.extras assert 'dct:identifier' in extras assert extras['dct:identifier'] == id assert 'uri' in extras assert extras['uri'] == uri
def test_all_fields(self): uri = 'https://test.org/dataset' node = URIRef(uri) g = Graph() id = faker.uuid4() title = faker.sentence() acronym = faker.word() description = faker.paragraph() tags = faker.words(nb=3) start = faker.past_date(start_date='-30d') end = faker.future_date(end_date='+30d') g.set((node, RDF.type, DCAT.Dataset)) g.set((node, DCT.identifier, Literal(id))) g.set((node, DCT.title, Literal(title))) g.set((node, SKOS.altLabel, Literal(acronym))) g.set((node, DCT.description, Literal(description))) g.set((node, DCT.accrualPeriodicity, FREQ.daily)) pot = BNode() g.add((node, DCT.temporal, pot)) g.set((pot, RDF.type, DCT.PeriodOfTime)) g.set((pot, SCHEMA.startDate, Literal(start))) g.set((pot, SCHEMA.endDate, Literal(end))) for tag in tags: g.add((node, DCAT.keyword, Literal(tag))) dataset = dataset_from_rdf(g) dataset.validate() self.assertIsInstance(dataset, Dataset) self.assertEqual(dataset.title, title) self.assertEqual(dataset.acronym, acronym) self.assertEqual(dataset.description, description) self.assertEqual(dataset.frequency, 'daily') self.assertEqual(set(dataset.tags), set(tags)) self.assertIsInstance(dataset.temporal_coverage, db.DateRange) self.assertEqual(dataset.temporal_coverage.start, start) self.assertEqual(dataset.temporal_coverage.end, end) extras = dataset.extras self.assertIn('dct:identifier', extras) self.assertEqual(extras['dct:identifier'], id) self.assertIn('uri', extras) self.assertEqual(extras['uri'], uri)