= The Reactive MSSQL Client

Documentation:

- https://vertx.io/docs/vertx-mssql-client/java/[Website documentation]

== Developers

=== Testing

By default, the test suite runs SQL Server in a container using https://www.testcontainers.org/[TestContainers].

The container database binds to an arbitrary port to avoid conflicts.
Nevertheless, you can force the usage of the standard SQL Server port (1433) with a flag:

[source,bash]
----
mvn test -DcontainerFixedPort
----

==== Testing with an external database

You can start external database instances:

[source,bash]
----
cd docker
docker-compose up
----

Then run tests against it:

[source,bash]
----
mvn test \
  -Dconnection.uri=sqlserver://SA:A_Str0ng_Required_Password@localhost:1433 \
  -Dtls.connection.uri=sqlserver://SA:A_Str0ng_Required_Password@localhost:1435 \
  -Dforce.encryption.connection.uri=sqlserver://SA:A_Str0ng_Required_Password@localhost:1437
----

* `tls.connection.uri`: connection uri of the database to use for `MSSQLEncryptionTest`
* `force.encryption.connection.uri`: connection uri of the database to use for `MSSQLForcedEncryptionTest`
* `connection.uri`: connection uri of the database to use for all other tests
