From dce397012ee71ecdbf7e9ecaa055314a1c4cef12 Mon Sep 17 00:00:00 2001 From: Diane Trout Date: Wed, 20 May 2015 14:56:47 -0700 Subject: [PATCH] localize all the RDF imports and use skipUnless to avoid tests when we don't have redland installed --- samples/test_samples.py | 48 ++++++++++++++++++----------------------- 1 file changed, 21 insertions(+), 27 deletions(-) diff --git a/samples/test_samples.py b/samples/test_samples.py index 2e62668..8b34082 100644 --- a/samples/test_samples.py +++ b/samples/test_samples.py @@ -2,6 +2,7 @@ from __future__ import absolute_import, print_function import datetime import json +from unittest import skipUnless from django.test import TestCase, RequestFactory from django.utils.encoding import smart_text, smart_str @@ -14,6 +15,23 @@ from htsworkflow.auth import apidata from htsworkflow.util.conversion import str_or_none from htsworkflow.util.ethelp import validate_xhtml +try: + import RDF + HAVE_RDF = True + + rdfNS = RDF.NS("http://www.w3.org/1999/02/22-rdf-syntax-ns#") + xsdNS = RDF.NS("http://www.w3.org/2001/XMLSchema#") + libNS = RDF.NS("http://jumpgate.caltech.edu/wiki/LibraryOntology#") + + from htsworkflow.util.rdfhelp import get_model, \ + add_default_schemas, \ + fromTypedNode, \ + load_string_into_model + from htsworkflow.util.rdfinfer import Infer +except ImportError as e: + HAVE_RDF = False + + class LibraryTestCase(TestCase): def testOrganism(self): human = SpeciesFactory(common_name='human') @@ -135,16 +153,10 @@ class SampleWebTestCase(TestCase): response = self.client.get(url) self.failUnlessEqual(response.status_code, 403) + @skipUnless(HAVE_RDF, "No RDF Support") def test_library_rdf(self): library = LibraryFactory.create() - import RDF - from htsworkflow.util.rdfhelp import get_model, \ - dump_model, \ - fromTypedNode, \ - load_string_into_model, \ - rdfNS, \ - libraryOntology model = get_model() response = self.client.get(library.get_absolute_url()) @@ -179,19 +191,13 @@ class SampleWebTestCase(TestCase): self.assertTrue(state) # validate a library page. - from htsworkflow.util.rdfhelp import add_default_schemas - from htsworkflow.util.rdfinfer import Infer add_default_schemas(model) inference = Infer(model) errmsgs = list(inference.run_validation()) self.assertEqual(len(errmsgs), 0) + @skipUnless(HAVE_RDF, "No RDF Support") def test_library_index_rdfa(self): - from htsworkflow.util.rdfhelp import \ - add_default_schemas, get_model, load_string_into_model, \ - dump_model - from htsworkflow.util.rdfinfer import Infer - model = get_model() add_default_schemas(model) inference = Infer(model) @@ -266,19 +272,7 @@ def create_db(obj): ) obj.library_10002.save() -try: - import RDF - HAVE_RDF = True - - rdfNS = RDF.NS("http://www.w3.org/1999/02/22-rdf-syntax-ns#") - xsdNS = RDF.NS("http://www.w3.org/2001/XMLSchema#") - libNS = RDF.NS("http://jumpgate.caltech.edu/wiki/LibraryOntology#") - - from htsworkflow.util.rdfhelp import dump_model -except ImportError as e: - HAVE_RDF = False - - +@skipUnless(HAVE_RDF, "No RDF Support") class TestRDFaLibrary(TestCase): def setUp(self): -- 2.30.2