Giter Site home page Giter Site logo

citrus-db's People

Contributors

christophd avatar cpyix avatar svettwer avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

citrus-db's Issues

Invalid XML Data set does not throw an appropriate exception

If you define a XML Result set during a JDBC response, it should look like this:

<dataset>
  <row>
    <whateverColumn>value</whateverColumn>
  </row>
</dataset>

If you leave out the row tag, the XmlDataSetProducer does not throw an appropriate exception, which states that the dataset specification is invalid.

Instead, a dataset with empty rows is produced causing a null pointer during data access in the result set.

This makes it hard for the user to find out, that the dataset specification is invalid.

Create Rules from query and result

As a citrus-db user, I want to be able to provide a query and a result set via an API or GUI so that the server responds with the result if the query hits the server. This will fasten the way to create rules while testing.

Add Mapping Tester

As a citurs-db user, I want to be able to insert a SQL statement into a test field, push a button and get the result from the server, so that I'm able to test my mappings in the server without a DB Client

Unable to specify callable statements result set

Callable statements are prepared and executed via JDCB prepareStmt() and execute() method. The execute method does not have a return value. Therefore it is not possible to provide a result set as outcome. The JDBC API is designed to call getResultSet() on the prepared statement in order to retrieve the result set as outcome.

Add possibility in citrus-db-server to provide a result set for callable statements.

Add SQLException handling for the embedded server

As a test designer, I want to be able to specify und which conditions a SQLException should be thrown, to be able to test the behavior of the software in case of an error. In addition, the exceptions should be thrown as an SQLException from the driver implementation.

Improve exception messages

Hi!

Because the driver is currently not fully implemented, some exceptions might be thrown depending on the interactions between the SQL-Client and the driver. Currently the exception text is "Not Supported". To make it easier to find the required operation, one should add some additional information to the exception messages.

BR,
Sven

Implement registerOutParameter in JdbcCallableStatement

Extracted from citrusframework/citrus#429

User story
As a citrus user, I want to be able to test CallableStatements with OutParameters or InOutParameters so that I'm able to test all of my callable statement implementations.

Additional information
The issue is located in the JdbcCallableStatement within the driver implementation. All out parameter methods are currently not implemented. That's why the parameters are not passed to the server or noted in the requests.

JDBC statement function getUpdateCount & getMoreResults

In unserem Tibco SQl Direct versucht TIBCO automatisch getUpdateCount und getMoreResults aufzurufen, die aktuelle Citrus-DB-Treiber Version wirft eine SQLEXception "Not supported JDBC statement function 'getUpdateCount'" bzw. "Not supported JDBC statement function 'getMoreResults'" .

Ich habe den Treiber angepasst und als Rückgabewert für getUpdateCount -1 und für getMoreResults false eingefügt. Dann funktioniert alles ohne Porbleme.
Wäre noch zu prüfen in welchem Fall dieser Fix Probleme bereiten könnte.

citrus-db-driver currently without dependencies

Hi!

While trying to test the citrus-db-driver, one found out, that the dependencies are missing in version 0.1.0.

One should add the dependencies to the artifact for the next release.

Workaround

  1. Checkout the current snapshot version and build it locally (recommended)
  2. Use version 0.1.0 and add the following dependencies by hand
  • httpclient
  • jackson-databind
  • http-core
<dependency>
    <groupId>com.consol.citrus</groupId>
    <artifactId>citrus-db-driver</artifactId>
    <version>0.1.0</version>
</dependency>

Add SQL server side timeouts

As a test designer, I want to be able to specify a response delay/timeout behavior of the database server to be able to test resilience use cases

Support CLOB and BLOB

When executing update statements driver throws exception:

java.sql.SQLException: Not supported JDBC prepared statement function 'setClob'"

Add SQLExceptions for Standalone JDBC Server

As a test designer, I want to be able to specify und which conditions a SQLException should be thrown, to be able to test the behavior of the software in case of an error. In addition, the exceptions should be thrown as an SQLException from the driver implementation.

#3 already implemented the embedded variant. Here is the outcome from that issue concerning the standalone server.

  • Merge thenThrow with thenRefuse
  • thenRefuse accepts no parameter or a Exception instance
  • If the rule states, that the exception should be thrown, the exception is transmitted to the driver and then returned as the cause of an SQLException

DB-Proxy feature

As a citurs-db user, I want the citrus-db server to create rules from the communication between a client and a real database, so that I don't have to create rules manually.

DDL Rule generator

As a citrus-db user, I want to be able to use DDL and a given set of data to create scenarios the server will answer, to easily create scenarios from my database schemas.

Add simple DB server GUI

As a test designer, I want to be able to access the state of the db server through a graphical user interface showing me all stored information, so that I'm able to identify missing scenarios or adapt my tests to the existing ones.

Add support for stored procedures

As a test designer, I want to be able to create, execute and validate stored procedures calls to the database to ensure, that my software is calling the procedures correctly. In addition exceptions should be thrown if the stored procedure does not exist or does not match.

not supported jdbc statement function 'executeBatch'

@laura098 commented on Wed Sep 26 2018

The batch update function of tibco is not supported in the citrus jdbc adapter. This function is needed for all inserts that affect more than one row. And all updates which gets a list of different where-clauses.
Please see the attached file for some screenshots.

Best Regards,
Laura
JDBC-Batch Update-Bug.docx


@svettwer commented on Mon Oct 01 2018

Hi!

Yes this is absolutely the case. We've just implemented a set of driver functionality with the idea of extending the driver over time and on demand.

Thx for reporting your demand on this feature! 👍

BR,
Sven


@svettwer commented on Mon Nov 26 2018

Further refinement information:

The interface for batch functionality includes three methods:

  1. void addBatch( String sql ) throws SQLException;
  2. void clearBatch() throws SQLException;
  3. int[] executeBatch() throws SQLException;

executeBatch() requires some more implementation on driver side to ensure that the updated rows count is simulated accurately. The exchanged Citrus JDBC messages contain the amount of affected rows, so that there should be minimum changes required on server side if any.

Driver exception escalation

Extracted from #42 (comment)

When a SUT interacts with the driver and this interaction leads to an exception, it is hard not possible to identify this in a test case. Nor is it possible to make the exception transparent at all, das the exception is part of the SUTs log, which is not in scope of the Citrus test case, suite or general setup.

Therefore, I propose to escalate exceptions to and endpoint of the Citrus JDBC Server and then pass the exception into the test case, so that an issue during driver interaction is escalated to the test case through the JDBC Server.

BR,
Sven

Probleme mit NumberOfUpdates JDBC-Adapter

Hallo,
wir haben Probleme mit dem NumberOfUpdates nach einem SQL-Update-Aufruf.

Es werden standardmäßig als NumberOfUpdates 0 zurückgegeben.

Können wir hier selbst etwas anpassen oder liegt das bei euch? Wir prüfen in unserem Programm genau diesen Fall und laufen dadurch immerwieder auf Fehler.

Viele Grüße
Sven

Add Transaction handling

As a test designer, I want to be able to specify test scenarios for transactions including exceptions on commit, to be able to verify the transaction behavior of my application.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.