https://projects.ecoinformatics.org/ecoinfo/https://projects.ecoinformatics.org/ecoinfo/ecoinfo/favicon.ico?14691340362003-11-11T20:42:49ZEcoinformatics RedmineSEEK - Bug #1059: create testing harness for ecogridhttps://projects.ecoinformatics.org/ecoinfo/issues/1059?journal_id=40112003-11-11T20:42:49ZMatt Jonesjones@nceas.ucsb.edu
<ul></ul><p>Some more detail has emerged on this from the Santa Barbara meeting. The goal<br />of this bug is to create a series of unit tests that test the published EcoGrid<br />APIs for each of the wrapped services (e.g., metacat/srb/DiGIR) to make sure<br />that they all implement the interfaces uniformly. This can be implemented in<br />phases, as the EcoGrip APIs are implemented. So for example, because query APIs<br />are being developed before data insertion APIs, it is ok to assume for now that<br />data being queried is inserted through a non-ecogrid mechanism. Once the write<br />APIs are established, the test should login, insert the test data, query the<br />test data, modify and delete the test data, and test exceptional conditions<br />(such as trying to insert after an invalid login, trying to delete/move/change<br />data owned by another user, etc).</p>
<p>Running these tests should be accomplished through the ant build system by<br />typing "ant test" on the commandline. We have some existing ant build files<br />that run tests, so see me about how to set this up if you have questions. It<br />would be best if the build file had a configurable parameter that lists the<br />implementations to be tested (ie, list a metacat, srb, digir, etc implementation<br />and run through each of those with all of the tests).</p>
<p>Some minimum steps needed to close this bug. It is not a complete list. <br />Individual parts may be broken out into their own individual bugs if that makes<br />it easier to track partial completion of the task.</p>
<p>1) Get test data and queries<br /> a) Obtain representative EML and Darwin Core metadata and data, place in CVS<br />at seek/projects/ecogrid/test/testfiles in a suitably documented way<br /> b) Rewrite and extend the test queries already started in CVS to be a full<br />suite of query test documents that test all of the features of the query language<br />2) Write a JUnit test suite that is configurable to point at specific<br />implementations of the EcoGridAPIs. This might be<br />tests/org.ecoinformatics.seek.ecogridtest.EcoGridAPITest.java<br />3) Have a separate function for testing each of the following functions:<br /> a) insert metadata<br /> b) insert data<br /> c) modify metadata<br /> d) modify data<br /> e) query metadata -- get the right set of results (e.g., query method)<br /> f) download data -- using an identifer (e.g., "get" method)<br /> g) query data -- download a subset of data<br /> h) delete data<br /> i) register an ecogrid node<br /> j) query registry for nodes<br /> k) login (authenticate)<br /> l) logout<br /> m) test access control restrictions</p>
<p>Each of these involves several possible EcoGrid API method invocations. <br />Sometimes more than one way to do it will exist (e.g., EcoGrid Query Level I and<br />Level II interfaces) -- we need to test all legitimate approaches, and make sure<br />illegitimate approaches are blocked.</p>
<p>As I said, these will probably not be developed in this order. The first<br />methods to test will probably be the EcoGrid Level I query API, basically the<br />search and get methods, as described in bug 1041.</p>
<p>Developing these tests will have some beneficial side-impacts. First, it will<br />clarify our thinking about the APIs and make sure that they allow the<br />expressiveness we want. Second, it will provide a client library (if properly<br />designed) that can be used in other contexts. Third, it will provide immediate<br />feedback to developers doing wrapping of new services as to whether they have<br />gotten it right or not.</p> SEEK - Bug #1059: create testing harness for ecogridhttps://projects.ecoinformatics.org/ecoinfo/issues/1059?journal_id=40122005-11-29T20:04:18ZMatt Jonesjones@nceas.ucsb.edu
<ul></ul><p>This still needs to be done before the release can occur. An additional design<br />goal is to stress test with mutiple simultaneous client connections (probably a<br />configurable number of client connections) to make sure the implementations can<br />handle getting hit with many requests at the same time.</p> SEEK - Bug #1059: create testing harness for ecogridhttps://projects.ecoinformatics.org/ecoinfo/issues/1059?journal_id=40132013-03-27T21:16:07ZRedmine Admin
<ul></ul><p>Original Bugzilla ID was 1059</p>