Exemple #1
0
    def test_ctor(self):
        rdr = location.LocationReader()
        assert rdr
        assert not rdr.basedir
        assert rdr.deffmt == 'txt'
        assert rdr.parsers
        assert 'json' in rdr.parsers and 'txt' in rdr.parsers

        rdr = location.LocationReader('/usr/local/etc')
        assert rdr
        assert rdr.basedir == '/usr/local/etc'
        assert rdr.deffmt == 'txt'
        rdr = location.LocationReader(basedir='/usr/local/etc')
        assert rdr
        assert rdr.basedir == '/usr/local/etc'
        assert rdr.deffmt == 'txt'

        parsers = dict(rdr.parsers)
        parsers['text'] = parsers['txt']

        rdr = location.LocationReader(None, parsers)
        assert rdr
        assert not rdr.basedir
        assert rdr.parsers
        assert 'json' in rdr.parsers and 'txt' in rdr.parsers \
           and 'text' in rdr.parsers
        assert ('txt' in rdr.parsers) is ('text' in rdr.parsers)
        rdr = location.LocationReader(parsers=parsers)
        assert rdr
        assert not rdr.basedir
        assert rdr.parsers
        assert 'json' in rdr.parsers and 'txt' in rdr.parsers \
           and 'text' in rdr.parsers
        assert ('txt' in rdr.parsers) is ('text' in rdr.parsers)
Exemple #2
0
    def test_read_bad_format(self):
        rdr = location.LocationReader()

        with pytest.raises(RuntimeError) as excinfo:
            data = rdr.read(txtfile, 'yaml')
        assert "Don't know how to parse location file of type 'yaml'" == \
            str(excinfo.value)
Exemple #3
0
    def test_read_no_deffmt(self):
        rdr = location.LocationReader()
        rdr.deffmt = None

        with pytest.raises(RuntimeError) as excinfo:
            data = rdr.read(deffile)
        assert "No default parser set to apply to " in str(excinfo.value)
Exemple #4
0
    def test_read(self):
        rdr = location.LocationReader()

        data = rdr.read(txtfile)
        assert data
        assert len(data) == 2
        assert data.get(
            "uri:nist.gov/goober") == "http://www.ivoa.net/xml/goober"
        assert data.get("http://mgi.nist.gov/goof") == \
            os.path.join(datadir,"goof.xml")

        data = rdr.read(jsonfile)
        assert data
        assert len(data) == 2
        assert data.get(
            "uri:nist.gov/goober") == "http://www.ivoa.net/xml/goober"
        assert data.get("http://mgi.nist.gov/goof") == \
            os.path.join(datadir,"goof.xml")

        data = rdr.read(deffile)
        assert data
        assert len(data) == 2
        assert data.get(
            "uri:nist.gov/goober") == "http://www.ivoa.net/xml/goober"
        assert data.get("http://mgi.nist.gov/goof") == \
            os.path.join(datadir,"goof.xml")
Exemple #5
0
    def test_read_json(self):
        rdr = location.LocationReader()

        data = rdr.read(jsonfile, fmt='json', basedir="")
        assert data
        assert len(data) == 2
        assert data.get(
            "uri:nist.gov/goober") == "http://www.ivoa.net/xml/goober"
        assert data.get("http://mgi.nist.gov/goof") == "goof.xml"

        data = rdr.read(jsonfile, fmt='json', basedir="/etc")
        assert data
        assert len(data) == 2
        assert data.get(
            "uri:nist.gov/goober") == "http://www.ivoa.net/xml/goober"
        assert data.get("http://mgi.nist.gov/goof") == "/etc/goof.xml"

        data = rdr.read(jsonfile, fmt='json')
        assert data
        assert len(data) == 2
        assert data.get(
            "uri:nist.gov/goober") == "http://www.ivoa.net/xml/goober"
        assert data.get("http://mgi.nist.gov/goof") == \
            os.path.join(datadir,"goof.xml")