From f9c64353ac87b1fe05e0cad68e358a7f69b3bcdc Mon Sep 17 00:00:00 2001
From: Pjotr Prins
Date: Sat, 7 Nov 2020 10:31:27 +0000
Subject: Tests: added SPARQL test
---
test/test_sparql.py | 30 +++++++++++++++++++++++++++++-
1 file changed, 29 insertions(+), 1 deletion(-)
(limited to 'test/test_sparql.py')
diff --git a/test/test_sparql.py b/test/test_sparql.py
index 00bb3ed..41cf717 100644
--- a/test/test_sparql.py
+++ b/test/test_sparql.py
@@ -1,11 +1,39 @@
# Run with python3 test/test_sparql.py
import unittest
+import requests
+import logging
+
+
class TestSPARQL(unittest.TestCase):
def test_sparql(self):
- pass
+ sparqlURL='http://sparql.genenetwork.org/sparql/'
+ id = "http://collections.lugli.arvadosapi.com/c=0002e93b86ad77824620bf938b97e134+126/sequence.fasta"
+ id = "MT800005.1"
+ query=f"""
+PREFIX pubseq:
+PREFIX sio:
+select distinct ?sample ?geoname ?date ?source ?geo ?sampletype ?institute ?sequenceuri
+{{
+ ?sample sio:SIO_000115 "{id}" .
+ ?sequenceuri pubseq:sample ?sample .
+ ?sample ?geo .
+ ?geo rdfs:label ?geoname .
+ ?sample ?date .
+ OPTIONAL {{ ?sample ?source }}
+ OPTIONAL {{ ?sample ?sampletype }}
+ OPTIONAL {{ ?sample ?institute }}
+}}
+ """
+ print(query)
+ payload = {'query': query, 'format': 'json'}
+ r = requests.get(sparqlURL, params=payload)
+ result = r.json()['results']['bindings']
+ # for now we just take the first one
+ print(result)
+ self.assertEqual(result[0]['geoname']['value'],'Mahuva')
if __name__ == '__main__':
unittest.main()
--
cgit v1.2.3