Skip to content

Commit e7649fa

Browse files
committed
fixes Basetest reference
1 parent 345e966 commit e7649fa

24 files changed

+116
-78
lines changed

snapquery/prefix_merger.py

Lines changed: 21 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,14 @@
55
66
Move to separate module in 2025-12-01 by wf
77
"""
8+
9+
import logging
810
from enum import Enum
911

10-
from lodstorage.query import Query, Endpoint
12+
from lodstorage.prefix_config import PrefixConfigs
13+
from lodstorage.prefixes import Prefixes
14+
from lodstorage.query import Endpoint, Query
15+
1116
from snapquery.sparql_analyzer import SparqlAnalyzer
1217

1318

@@ -22,11 +27,14 @@ class QueryPrefixMerger(Enum):
2227

2328
@classmethod
2429
def _missing_(cls, key):
25-
return cls.default_merger()
30+
logging.warning(f"Invalid QueryPrefixMerger key: {key}, defaulting to SIMPLE_MERGER")
31+
merger = cls.default_merger()
32+
return merger
2633

2734
@classmethod
2835
def default_merger(cls) -> "QueryPrefixMerger":
29-
return cls.SIMPLE_MERGER
36+
merger = cls.SIMPLE_MERGER
37+
return merger
3038

3139
@classmethod
3240
def get_by_name(cls, name: str) -> "QueryPrefixMerger":
@@ -52,12 +60,12 @@ def merge_prefixes(
5260
Returns:
5361
merged query
5462
"""
63+
sparql_query = query.query
5564
if merger == QueryPrefixMerger.SIMPLE_MERGER:
56-
return cls.simple_prefix_merger(query.query, endpoint)
65+
sparql_query = cls.simple_prefix_merger(sparql_query, endpoint)
5766
elif merger == QueryPrefixMerger.ANALYSIS_MERGER:
58-
return cls.analysis_prefix_merger(query.query)
59-
else:
60-
return query.query
67+
sparql_query = cls.analysis_prefix_merger(sparql_query)
68+
return sparql_query
6169

6270
@classmethod
6371
def simple_prefix_merger(cls, query_str: str, endpoint: Endpoint) -> str:
@@ -70,10 +78,11 @@ def simple_prefix_merger(cls, query_str: str, endpoint: Endpoint) -> str:
7078
Returns:
7179
merged query
7280
"""
73-
prefixes = endpoint.prefixes if hasattr(endpoint, "prefixes") else None
74-
merged_query = query_str
75-
if prefixes:
76-
merged_query = f"{prefixes}\n{merged_query}"
81+
prefixes_str = endpoint.get_prefixes(PrefixConfigs.get_instance())
82+
if not prefixes_str.strip():
83+
return
84+
85+
merged_query = Prefixes.merge_prefixes(query_str, prefixes_str)
7786
return merged_query
7887

7988
@classmethod
@@ -87,4 +96,4 @@ def analysis_prefix_merger(cls, query_str: str) -> str:
8796
merged query
8897
"""
8998
merged_query = SparqlAnalyzer.add_missing_prefixes(query_str)
90-
return merged_query
99+
return merged_query

snapquery/snapquery_core.py

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828
from snapquery.error_filter import ErrorFilter
2929
from snapquery.graph import Graph, GraphManager
3030
from snapquery.prefix_merger import QueryPrefixMerger
31+
3132
logger = logging.getLogger(__name__)
3233

3334

@@ -1025,10 +1026,12 @@ def as_query_bundle(
10251026
endpoint=endpoint.endpoint,
10261027
limit=limit,
10271028
)
1028-
query.query = QueryPrefixMerger.merge_prefixes(query, endpoint, prefix_merger)
1029+
sparql_query = QueryPrefixMerger.merge_prefixes(query, endpoint, prefix_merger)
10291030
if limit:
1030-
query.query += f"\nLIMIT {limit}"
1031-
return QueryBundle(named_query=named_query, query=query, endpoint=endpoint)
1031+
sparql_query += f"\nLIMIT {limit}"
1032+
query.query = sparql_query
1033+
query_bundle = QueryBundle(named_query=named_query, query=query, endpoint=endpoint)
1034+
return query_bundle
10321035

10331036
def get_namespaces(self) -> Dict[str, int]:
10341037
"""

tests/test_authorization.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
@author: wf
55
"""
66

7-
from ngwidgets.basetest import Basetest
7+
from basemkit.basetest import Basetest
88

99
from snapquery.authorization import Authorization, UserRights
1010

tests/test_ceurws.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
import os
88
import unittest
99

10-
from ngwidgets.basetest import Basetest
10+
from basemkit.basetest import Basetest
1111

1212
from snapquery.ceurws import CeurWSQueries
1313
from snapquery.snapquery_core import NamedQueryManager
@@ -47,8 +47,8 @@ def test_ceurws_queries(self):
4747

4848
# Verify the data was stored
4949
records = nqm.sql_db.query(
50-
f"""SELECT *
51-
FROM NamedQuery
50+
f"""SELECT *
51+
FROM NamedQuery
5252
WHERE namespace='{ceurws_queries.named_query_set.namespace}'
5353
AND domain='{ceurws_queries.named_query_set.domain}'
5454
"""

tests/test_cmdline.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
import unittest
1010
from io import StringIO
1111

12-
from ngwidgets.basetest import Basetest
12+
from basemkit.basetest import Basetest
1313

1414
from snapquery import snapquery_cmd
1515

tests/test_endpoints.py

Lines changed: 10 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,13 @@
44
@author: wf
55
"""
66

7-
from ngwidgets.basetest import Basetest
8-
from snapquery.snapquery_core import NamedQueryManager
97
import requests
8+
from basemkit.basetest import Basetest
109
from lodstorage.sparql import SPARQL
1110

11+
from snapquery.snapquery_core import NamedQueryManager
12+
13+
1214
class TestEndpoints(Basetest):
1315
"""
1416
test endpoint handling according to https://github.com/WolfgangFahl/snapquery/issues/1
@@ -17,7 +19,7 @@ class TestEndpoints(Basetest):
1719
def setUp(self, debug=True, profile=True):
1820
Basetest.setUp(self, debug=debug, profile=profile)
1921
self.nqm = NamedQueryManager()
20-
self.user_agent = 'snapquery-test/1.0 (https://github.com/WolfgangFahl/snapquery)'
22+
self.user_agent = "snapquery-test/1.0 (https://github.com/WolfgangFahl/snapquery)"
2123
self.timeout = 10
2224

2325
def testEndpoints(self):
@@ -30,21 +32,15 @@ def testEndpoints(self):
3032
self.assertTrue("wikidata" in ep_names)
3133
pass
3234

33-
3435
def test_website_availability(self):
3536
"""
3637
Test website availability forendpoints (HTTP 200).
3738
"""
3839
for ep in self.nqm.endpoints.values():
39-
self.assertTrue(hasattr(ep, 'website'))
40-
resp = requests.get(
41-
ep.website,
42-
headers={'User-Agent': self.user_agent},
43-
timeout=self.timeout
44-
)
40+
self.assertTrue(hasattr(ep, "website"))
41+
resp = requests.get(ep.website, headers={"User-Agent": self.user_agent}, timeout=self.timeout)
4542
self.assertEqual(
46-
resp.status_code, 200,
47-
f"Website {ep.website} for {ep.name} unavailable (status: {resp.status_code})"
43+
resp.status_code, 200, f"Website {ep.website} for {ep.name} unavailable (status: {resp.status_code})"
4844
)
4945
if self.debug:
5046
print(f"✅ {ep.name} website OK: {ep.website}")
@@ -58,11 +54,8 @@ def test_sparql_availability(self):
5854
try:
5955
sparql = SPARQL.fromEndpointConf(ep)
6056
lod = sparql.queryAsListOfDicts(dummy_query)
61-
self.assertGreaterEqual(
62-
len(lod), 0,
63-
f"SPARQL {ep.endpoint} for {ep.name} returned no results"
64-
)
57+
self.assertGreaterEqual(len(lod), 0, f"SPARQL {ep.endpoint} for {ep.name} returned no results")
6558
if self.debug:
6659
print(f"✅ {ep.name} SPARQL OK: {len(lod)} rows from {ep.endpoint}")
6760
except Exception as e:
68-
self.fail(f"SPARQL check failed for {ep.name}: {str(e)}")
61+
self.fail(f"SPARQL check failed for {ep.name}: {str(e)}")

tests/test_error_filter.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@
77
import unittest
88
from pathlib import Path
99

10+
from basemkit.basetest import Basetest
1011
from dacite import from_dict
11-
from ngwidgets.basetest import Basetest
1212

1313
from snapquery.error_filter import ErrorFilter
1414
from snapquery.snapquery_core import NamedQueryManager, QueryStats, QueryStatsList

tests/test_graph.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
@author: wf
55
"""
66

7-
from ngwidgets.basetest import Basetest
7+
from basemkit.basetest import Basetest
88

99
from snapquery.graph import Graph, GraphManager
1010

@@ -28,7 +28,7 @@ def test_graph_manager(self):
2828
yaml_path = "/tmp/graphs.yaml"
2929
manager.save_to_yaml_file(yaml_path)
3030
yaml_path = GraphManager.get_yaml_path()
31-
manager = GraphManager.load_from_yaml_file(yaml_path)
31+
manager = GraphManager.load_from_yaml_file(yaml_path) # @UndefinedVariable
3232
self.assertTrue("wikidata" in manager.graphs)
3333
for graph in manager:
3434
loaded_graph = manager.get_graph(graph.name)

tests/test_import.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
import json
88

9-
from ngwidgets.basetest import Basetest
9+
from basemkit.basetest import Basetest
1010

1111
from snapquery.qimport import QueryImport
1212
from snapquery.wd_short_url import ShortUrl

tests/test_namedqueries.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
import json
88
import tempfile
99

10-
from ngwidgets.basetest import Basetest
10+
from basemkit.basetest import Basetest
1111

1212
from snapquery.snapquery_core import NamedQuery, NamedQueryManager, QueryName
1313

0 commit comments

Comments
 (0)