You're Invited:Meet the Socket Team at BlackHat and DEF CON in Las Vegas, Aug 4-6.RSVP
Socket
Book a DemoInstallSign in
Socket

com.ekino.oss.jcv-db:jcv-db-core

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

com.ekino.oss.jcv-db:jcv-db-core

JSON Content Validator for database (JCV-DB).

0.0.8
Source
mavenMaven
Version published
Maintainers
1
Source

JCV-DB

JSON Content Validator for Database (JCV-DB) allow you to compare database contents against a JSON with JCV validators.

Build Status GitHub (pre-)release Maven Central GitHub license

Table of contents

Summary

JCV-DB provides assertions to validate database content against a json file. The goal is for now to support SQL and NoSQL databases : PostgreSQL, MySQL, MSSQL, Cassandra and mongoDB. JCV validators are also supported making tests light and exhaustive.

Quick Start

Assertj-db

A JCV-DB module that supports Assertj-db. Only PostgreSQL, MySQL, MSSQL server are supported in this module.

Example

import static com.ekino.oss.jcv.db.assertj.DbComparatorAssertJ.assertThatTable

@Test
fun testContentTable() {
    assertThatTable(assertDb.table("table_name"))
    .isValidAgainst("""[
        {
            "id": "e3881fb1-b3dd-4701-b08c-f5d17389edfa",
            "number_field": 1,
            "boolean_field: true,
            "string_field": "Hello"
        }
    ]""".trimIndent())
}

Dependencies

Maven

<dependencies>
  ...
  <dependency>
    <groupId>org.skyscreamer</groupId>
    <artifactId>jsonassert</artifactId>
    <version>1.5.0</version>
    <scope>test</scope>
  </dependency>
  <dependency>
    <groupId>org.assertj</groupId>
    <artifactId>assertj-db</artifactId>
    <version>1.2.0</version>
    <scope>test</scope>
  </dependency>
  <dependency>
    <groupId>com.ekino.oss.jcv</groupId>
    <artifactId>jcv-core</artifactId>
    <version>1.4.1</version>
    <scope>test</scope>
  </dependency>
  <dependency>
    <groupId>com.ekino.oss.jcv-db</groupId>
    <artifactId>jcv-db-assertj-db</artifactId>
    <version>0.0.5</version>
    <scope>test</scope>
  </dependency>
  ...
</dependencies>

Gradle

dependencies {
    ...
    testImplementation 'org.skyscreamer:jsonassert:1.5.0'
    testImplementation 'org.assertj:assertj-db:1.2.0'
    testImplementation 'com.ekino.oss.jcv:jcv-core:1.4.1'
    testImplementation 'com.ekino.oss.jcv-db:jcv-db-assertj-db:0.0.3'
    ...
}

Jdbc module

A JCV-DB module that allow you to execute sql requests. Only PostgreSQL, MySQL, MSSQL server are supported in this module.

Example

import static com.ekino.oss.jcv.db.jdbc.DbComparatorJDBC.assertThatQuery

@Test
fun testContentTable() {
    assertThatQuery("select * from table_name")
    .isValidAgainst("""[
        {
            "id": "e3881fb1-b3dd-4701-b08c-f5d17389edfa",
            "number_field": 1,
            "boolean_field: true,
            "string_field": "Hello"
        }
    ]""".trimIndent())
}

Dependencies

Maven

<dependencies>
  ...
  <dependency>
    <groupId>org.skyscreamer</groupId>
    <artifactId>jsonassert</artifactId>
    <version>1.5.0</version>
    <scope>test</scope>
  </dependency>
  <dependency>
    <groupId>org.assertj</groupId>
    <artifactId>assertj-db</artifactId>
    <version>1.2.0</version>
    <scope>test</scope>
  </dependency>
  <dependency>
    <groupId>com.ekino.oss.jcv</groupId>
    <artifactId>jcv-core</artifactId>
    <version>1.4.1</version>
    <scope>test</scope>
  </dependency>
  <dependency>
    <groupId>com.ekino.oss.jcv-db</groupId>
    <artifactId>jcv-db-jdbc</artifactId>
    <version>0.0.5</version>
    <scope>test</scope>
  </dependency>
  ...
</dependencies>

Gradle

dependencies {
    ...
    testImplementation 'org.skyscreamer:jsonassert:1.5.0'
    testImplementation 'org.assertj:assertj-db:1.2.0'
    testImplementation 'com.ekino.oss.jcv:jcv-core:1.4.1'
    testImplementation 'com.ekino.oss.jcv-db:jcv-db-jdbc:0.0.3'
    ...
}

Cassandra module

A JCV-DB module that allow you to execute cql requests and criteria builder in cassandra database

Example

import static com.ekino.oss.jcv.db.cassandra.DbComparatorCassandra.assertThatQuery

@Test
fun testContentTable() {
    assertThatQuery("select * from table_name")
    .isValidAgainst("""[
        {
            "id": "e3881fb1-b3dd-4701-b08c-f5d17389edfa",
            "number_field": 1,
            "boolean_field: true,
            "string_field": "Hello"
        }
    ]""".trimIndent())
}

Dependencies

Maven

<dependencies>
  ...
  <dependency>
    <groupId>org.skyscreamer</groupId>
    <artifactId>jsonassert</artifactId>
    <version>1.5.0</version>
    <scope>test</scope>
  </dependency>
  <dependency>
    <groupId>org.assertj</groupId>
    <artifactId>assertj-db</artifactId>
    <version>1.2.0</version>
    <scope>test</scope>
  </dependency>
  <dependency>
    <groupId>com.ekino.oss.jcv</groupId>
    <artifactId>jcv-core</artifactId>
    <version>1.4.1</version>
    <scope>test</scope>
  </dependency>
  <dependency>
    <groupId>com.ekino.oss.jcv-db</groupId>
    <artifactId>jcv-db-cassandra</artifactId>
    <version>0.0.5</version>
    <scope>test</scope>
  </dependency>
  ...
</dependencies>

Gradle

dependencies {
    ...
    testImplementation 'org.skyscreamer:jsonassert:1.5.0'
    testImplementation 'org.assertj:assertj-db:1.2.0'
    testImplementation 'com.ekino.oss.jcv:jcv-core:1.4.1'
    testImplementation 'com.ekino.oss.jcv-db:jcv-db-cassandra:0.0.3'
    ...
}

Mongo database module

A JCV-DB module that allow you to mongo database content against a json file.

Example

import static com.ekino.oss.jcv.db.mongo.DbComparatorMongo.assertThatCollection

@Test
fun testContentTable() {
    assertThatQuery(database.getCollection("testCollection").find(eq("name", "test-mongo-db"))
    .isValidAgainst("""[
        {
            "id": "e3881fb1-b3dd-4701-b08c-f5d17389edfa",
            "number_field": 1,
            "boolean_field: true,
            "string_field": "Hello"
        }
    ]""".trimIndent())
}

Dependencies

Maven

<dependencies>
  ...
  <dependency>
    <groupId>org.skyscreamer</groupId>
    <artifactId>jsonassert</artifactId>
    <version>1.5.0</version>
    <scope>test</scope>
  </dependency>
  <dependency>
    <groupId>org.assertj</groupId>
    <artifactId>assertj-db</artifactId>
    <version>1.2.0</version>
    <scope>test</scope>
  </dependency>
  <dependency>
    <groupId>com.ekino.oss.jcv</groupId>
    <artifactId>jcv-core</artifactId>
    <version>1.4.1</version>
    <scope>test</scope>
  </dependency>
  <dependency>
    <groupId>com.ekino.oss.jcv-db</groupId>
    <artifactId>jcv-db-mongo</artifactId>
    <version>0.0.5</version>
    <scope>test</scope>
  </dependency>
  ...
</dependencies>

Gradle

dependencies {
    ...
    testImplementation 'org.skyscreamer:jsonassert:1.5.0'
    testImplementation 'org.assertj:assertj-db:1.2.0'
    testImplementation 'com.ekino.oss.jcv:jcv-core:1.4.1'
    testImplementation 'com.ekino.oss.jcv-db:jcv-db-mongo:0.0.1'
    ...
}

FAQs

Package last updated on 18 Oct 2023

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts