Thank you to both Jody and Andrea for your help. I think that the problem was that I wasn't using the "public" database schema, but rather a schema called "test". I also switched from a company networked postgis database to a local instance, and now the tests are running successfully.
Now onto writing that unit test... Regards Peter On Sat, 22 Feb 2020 at 15:39, Andrea Aime <andrea.a...@geo-solutions.it> wrote: > Hi Peter, > "schema" is a highly overloaded term, don't focus too much on one of the > possible database related uses. > Schema in XML and JSON is the structure of objects/records, in databases > we also talk about the schema > of a table, meaning the list of columns and types (e..g, in sqlite command > line utility ".schema myTable" returns > the table description). > > In GeoTools schema has the same meaning as above, it is synonymous to > "feature type", across the entire > library, not just in JDBCDataStore. > And then there is the unfortunate overlap with "schema" as a database > object containers. The error message is in ContentDataStore, > which is a base class for all types of data accesses, and does not talking > about that specific RDBMS meaning. > > If the table is not found it may mean that there is indeed an issue with > "schema" as the container, the tests > are meant to be run in a dedicated database and onto the "public" database > schema. Everyone so far > has been running it that way, and there is no property to configure it *in > the sample*. > If you cannot dedicate a new database instance to run the tests (e..g, I > use a gttest database), > try setting "schema=test" and see if tests run. I suspect several might, > but some may still fail. > > Cheers > Andrea > > > On Fri, Feb 21, 2020 at 2:17 PM Peter Smythe <g...@smythe.co.za> wrote: > >> Hi all >> >> ref: https://github.com/geotools/geotools/pull/2810 >> >> I am trying to build a unit test for my first contribution to the >> GeoTools code base. So far, Andrea has given me some advice on how to >> proceed. >> >> However, I am stuck with setting up the online tests - they continuously >> fail with errors like schema does not exist e.g. >> >> [ERROR] >> testRendererBehaviour(org.geotools.data.postgis.PostGIS3DOnlineTest) Time >> elapsed: 2.959 s <<< ERROR! >> java.io.IOException: *Schema 'line3d' does not exist.* >> >> I have configured a postgis.properties file with details of my local >> postgis installation. I can see the tables *are* being created in the >> test schema (that's the first schema in the search_path). The first one >> created is (table) *arraytest*. >> >> I tried using maven: >> >> in directory /geotools/modules/plugin/jdbc/jdbc-postgis >> mvn install -P online >> Throws a bunch of errors (see above) in the tests. >> >> I tried using eclipse (debugging normal GeoServer/GeoTools code works >> fine) by right clicking on PostGISArrayOnlineTest.java and Debug, JUnit >> Test. >> >> I am able to step through the unit test code, setUpData() works (delete >> the previous table, create it again with known test data), but inside >> JDBCDataStore(ContentDataStore).*getFeatureSource*(Name, Transaction) >> line: 331 >> with typeName = arraytest, there is no entry in the ContentDataStore, and >> thus: >> >> throw new IOException("Schema '" + name + "' does not exist."); >> >> BTW, I believe that the word "Schema" here is incorrect, as we're looking >> for a Table arraytest. >> >> I question, has the test been set up correctly, am I running it correctly? >> >> What am I missing? >> >> I really want to contribute to GeoServer/GeoTools, but I am beyond >> frustration with the initial complexity. >> >> Thanks >> >> Peter >> >> On Thu, 20 Feb 2020 at 17:34, Andrea Aime <notificati...@github.com> >> wrote: >> >>> *@aaime* commented on this pull request. >>> ------------------------------ >>> >>> In modules/library/jdbc/src/main/java/org/geotools/jdbc/KeysFetcher.java >>> <https://github.com/geotools/geotools/pull/2810#discussion_r382076263>: >>> >>> > @@ -420,6 +423,27 @@ public Object getNext(Connection cx) { >>> } >>> } >>> >>> + private static class FromUuid extends KeyFetcher { >>> >>> The test should be done in GeoTools. There are plenty of JUnit tests >>> talking to a database in the gt-jdbc-postgresql, you probably need to work >>> either on PostgisPrimaryKeyFinderOnlineTest, or >>> PostgisPrimaryKeyOnlineTest, or PostGISUuidOnlineTest, extending the >>> associated test setup, and probably adding a new test method in the postgis >>> specific subclasses (e.g., PostGISUuidOnlineTest) rather than the base >>> class shared across databases (e.g., JDBCUuidTestSetup). >>> >>> When you try to run it, it will create a >>> $HOME/.geotools/postgis.properties.example file and fail, rename the >>> created file it into postgis.properties and fix the connection properties >>> to point to a database that one can write onto, run it again, make it pass. >>> >>> — >>> You are receiving this because you authored the thread. >>> Reply to this email directly, view it on GitHub >>> <https://github.com/geotools/geotools/pull/2810?email_source=notifications&email_token=ABLPQUZYEEB5JYKLTGEANS3RD2PDJA5CNFSM4KXC3EC2YY3PNVWWK3TUL52HS4DFWFIHK3DMKJSXC5LFON2FEZLWNFSXPKTDN5WW2ZLOORPWSZGOCWJ3DEY#discussion_r382076263>, >>> or unsubscribe >>> <https://github.com/notifications/unsubscribe-auth/ABLPQUZFXNJEBJOS6G7Y4ALRD2PDJANCNFSM4KXC3ECQ> >>> . >>> >> _______________________________________________ >> GeoTools-Devel mailing list >> GeoTools-Devel@lists.sourceforge.net >> https://lists.sourceforge.net/lists/listinfo/geotools-devel >> > > > -- > > Regards, Andrea Aime == GeoServer Professional Services from the experts! > Visit http://goo.gl/it488V for more information. == Ing. Andrea Aime > @geowolf Technical Lead GeoSolutions S.A.S. Via di Montramito 3/A 55054 > Massarosa (LU) phone: +39 0584 962313 fax: +39 0584 1660272 mob: +39 339 > 8844549 http://www.geo-solutions.it http://twitter.com/geosolutions_it > ------------------------------------------------------- *Con riferimento > alla normativa sul trattamento dei dati personali (Reg. UE 2016/679 - > Regolamento generale sulla protezione dei dati “GDPR”), si precisa che ogni > circostanza inerente alla presente email (il suo contenuto, gli eventuali > allegati, etc.) è un dato la cui conoscenza è riservata al/i solo/i > destinatario/i indicati dallo scrivente. Se il messaggio Le è giunto per > errore, è tenuta/o a cancellarlo, ogni altra operazione è illecita. Le > sarei comunque grato se potesse darmene notizia. This email is intended > only for the person or entity to which it is addressed and may contain > information that is privileged, confidential or otherwise protected from > disclosure. We remind that - as provided by European Regulation 2016/679 > “GDPR” - copying, dissemination or use of this e-mail or the information > herein by anyone other than the intended recipient is prohibited. If you > have received this email by mistake, please notify us immediately by > telephone or e-mail.* >
_______________________________________________ GeoTools-Devel mailing list GeoTools-Devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/geotools-devel