Initial Development #1
3
.gitignore
vendored
3
.gitignore
vendored
@ -29,3 +29,6 @@ replay_pid*
|
||||
|
||||
# Temporary output directories
|
||||
**/target
|
||||
|
||||
# Maven Central Repo settings
|
||||
settings.xml
|
||||
|
10
.idea/jarRepositories.xml
generated
10
.idea/jarRepositories.xml
generated
@ -1,16 +1,16 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="RemoteRepositoriesConfiguration">
|
||||
<remote-repository>
|
||||
<option name="id" value="mavenCentral" />
|
||||
<option name="name" value="mavenCentral" />
|
||||
<option name="url" value="https://repo1.maven.org/maven2/" />
|
||||
</remote-repository>
|
||||
<remote-repository>
|
||||
<option name="id" value="central" />
|
||||
<option name="name" value="Central Repository" />
|
||||
<option name="url" value="https://repo.maven.apache.org/maven2" />
|
||||
</remote-repository>
|
||||
<remote-repository>
|
||||
<option name="id" value="mavenCentral" />
|
||||
<option name="name" value="mavenCentral" />
|
||||
<option name="url" value="https://repo1.maven.org/maven2/" />
|
||||
</remote-repository>
|
||||
<remote-repository>
|
||||
<option name="id" value="central" />
|
||||
<option name="name" value="Maven Central repository" />
|
||||
|
45
pom.xml
45
pom.xml
@ -6,7 +6,34 @@
|
||||
|
||||
<groupId>solutions.bitbadger</groupId>
|
||||
<artifactId>documents</artifactId>
|
||||
<version>4.0-ALPHA</version>
|
||||
<version>4.0.0-alpha1-SNAPSHOT</version>
|
||||
<packaging>jar</packaging>
|
||||
|
||||
<name>${project.groupId}:${project.artifactId}</name>
|
||||
<description>Expose a document store interface for PostgreSQL and SQLite</description>
|
||||
<url>https://bitbadger.solutions/open-source/solutions.bitbadger.documents</url>
|
||||
|
||||
<licenses>
|
||||
<license>
|
||||
<name>MIT License</name>
|
||||
<url>https://www.opensource.org/licenses/mit-license.php</url>
|
||||
</license>
|
||||
</licenses>
|
||||
|
||||
<developers>
|
||||
<developer>
|
||||
<name>Daniel J. Summers</name>
|
||||
<email>daniel@bitbadger.solutions</email>
|
||||
<organization>Bit Badger Solutions</organization>
|
||||
<organizationUrl>https://bitbadger.solutions</organizationUrl>
|
||||
</developer>
|
||||
</developers>
|
||||
|
||||
<scm>
|
||||
<connection>scm:git:https://git.bitbadger.solutions/bit-badger/solutions.bitbadger.documents.git</connection>
|
||||
<developerConnection>scm:git:https://git.bitbadger.solutions/bit-badger/solutions.bitbadger.documents.git</developerConnection>
|
||||
<url>https://git.bitbadger.solutions/bit-badger/solutions.bitbadger.documents</url>
|
||||
</scm>
|
||||
|
||||
<properties>
|
||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||
@ -16,12 +43,12 @@
|
||||
<serialization.version>1.8.0</serialization.version>
|
||||
</properties>
|
||||
|
||||
<repositories>
|
||||
<!-- <repositories>
|
||||
<repository>
|
||||
<id>mavenCentral</id>
|
||||
<url>https://repo1.maven.org/maven2/</url>
|
||||
</repository>
|
||||
</repositories>
|
||||
</repositories> -->
|
||||
|
||||
<build>
|
||||
<sourceDirectory>src/main/kotlin</sourceDirectory>
|
||||
@ -67,6 +94,14 @@
|
||||
<plugin>
|
||||
<artifactId>maven-failsafe-plugin</artifactId>
|
||||
<version>2.22.2</version>
|
||||
<executions>
|
||||
<execution>
|
||||
<goals>
|
||||
<goal>integration-test</goal>
|
||||
<goal>verify</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.codehaus.mojo</groupId>
|
||||
@ -111,13 +146,13 @@
|
||||
<groupId>org.xerial</groupId>
|
||||
<artifactId>sqlite-jdbc</artifactId>
|
||||
<version>3.46.1.2</version>
|
||||
<scope>integration-test</scope>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.postgresql</groupId>
|
||||
<artifactId>postgresql</artifactId>
|
||||
<version>42.7.5</version>
|
||||
<scope>integration-test</scope>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
|
@ -2,6 +2,7 @@ package solutions.bitbadger.documents
|
||||
|
||||
import org.junit.jupiter.api.DisplayName
|
||||
import org.junit.jupiter.api.Test
|
||||
import solutions.bitbadger.documents.integration.TEST_TABLE
|
||||
import kotlin.test.assertEquals
|
||||
import kotlin.test.assertFalse
|
||||
import kotlin.test.assertTrue
|
||||
|
@ -1,4 +1,4 @@
|
||||
package solutions.bitbadger.documents
|
||||
package solutions.bitbadger.documents.integration
|
||||
|
||||
import java.sql.Connection
|
||||
|
@ -1,6 +1,7 @@
|
||||
package solutions.bitbadger.documents
|
||||
package solutions.bitbadger.documents.integration
|
||||
|
||||
import kotlinx.serialization.Serializable
|
||||
import solutions.bitbadger.documents.insert
|
||||
|
||||
/** The test table name to use for integration tests */
|
||||
const val TEST_TABLE = "test_table"
|
||||
@ -18,7 +19,8 @@ data class ArrayDocument(val id: String, val values: List<String>) {
|
||||
val testDocuments = listOf(
|
||||
ArrayDocument("first", listOf("a", "b", "c")),
|
||||
ArrayDocument("second", listOf("c", "d", "e")),
|
||||
ArrayDocument("third", listOf("x", "y", "z")))
|
||||
ArrayDocument("third", listOf("x", "y", "z"))
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
@ -31,7 +33,8 @@ data class JsonDocument(val id: String, val value: String = "", val numValue: In
|
||||
JsonDocument("two", "another", 10, SubDocument("green", "blue")),
|
||||
JsonDocument("three", "", 4, null),
|
||||
JsonDocument("four", "purple", 17, SubDocument("green", "red")),
|
||||
JsonDocument("five", "purple", 18, null))
|
||||
JsonDocument("five", "purple", 18, null)
|
||||
)
|
||||
|
||||
fun load(db: ThrowawayDatabase, tableName: String = TEST_TABLE) =
|
||||
testDocuments.forEach { db.conn.insert(tableName, it) }
|
@ -1,6 +1,9 @@
|
||||
package solutions.bitbadger.documents.common
|
||||
package solutions.bitbadger.documents.integration.common
|
||||
|
||||
import solutions.bitbadger.documents.*
|
||||
import solutions.bitbadger.documents.integration.JsonDocument
|
||||
import solutions.bitbadger.documents.integration.TEST_TABLE
|
||||
import solutions.bitbadger.documents.integration.ThrowawayDatabase
|
||||
import kotlin.test.assertEquals
|
||||
|
||||
/**
|
@ -1,6 +1,9 @@
|
||||
package solutions.bitbadger.documents.common
|
||||
package solutions.bitbadger.documents.integration.common
|
||||
|
||||
import solutions.bitbadger.documents.*
|
||||
import solutions.bitbadger.documents.integration.JsonDocument
|
||||
import solutions.bitbadger.documents.integration.TEST_TABLE
|
||||
import solutions.bitbadger.documents.integration.ThrowawayDatabase
|
||||
import solutions.bitbadger.documents.query.Count
|
||||
import solutions.bitbadger.documents.query.Delete
|
||||
import solutions.bitbadger.documents.query.Find
|
@ -1,6 +1,8 @@
|
||||
package solutions.bitbadger.documents.common
|
||||
package solutions.bitbadger.documents.integration.common
|
||||
|
||||
import solutions.bitbadger.documents.*
|
||||
import solutions.bitbadger.documents.integration.TEST_TABLE
|
||||
import solutions.bitbadger.documents.integration.ThrowawayDatabase
|
||||
import kotlin.test.assertFalse
|
||||
import kotlin.test.assertTrue
|
||||
|
@ -1,6 +1,9 @@
|
||||
package solutions.bitbadger.documents.common
|
||||
package solutions.bitbadger.documents.integration.common
|
||||
|
||||
import solutions.bitbadger.documents.*
|
||||
import solutions.bitbadger.documents.integration.JsonDocument
|
||||
import solutions.bitbadger.documents.integration.TEST_TABLE
|
||||
import solutions.bitbadger.documents.integration.ThrowawayDatabase
|
||||
import kotlin.test.assertEquals
|
||||
|
||||
/**
|
@ -1,6 +1,7 @@
|
||||
package solutions.bitbadger.documents.common
|
||||
package solutions.bitbadger.documents.integration.common
|
||||
|
||||
import solutions.bitbadger.documents.*
|
||||
import solutions.bitbadger.documents.integration.*
|
||||
import kotlin.test.*
|
||||
|
||||
/**
|
@ -1,6 +1,9 @@
|
||||
package solutions.bitbadger.documents.common
|
||||
package solutions.bitbadger.documents.integration.common
|
||||
|
||||
import solutions.bitbadger.documents.*
|
||||
import solutions.bitbadger.documents.integration.JsonDocument
|
||||
import solutions.bitbadger.documents.integration.TEST_TABLE
|
||||
import solutions.bitbadger.documents.integration.ThrowawayDatabase
|
||||
import kotlin.test.assertFalse
|
||||
import kotlin.test.assertTrue
|
||||
|
@ -1,6 +1,7 @@
|
||||
package solutions.bitbadger.documents.common
|
||||
package solutions.bitbadger.documents.integration.common
|
||||
|
||||
import solutions.bitbadger.documents.*
|
||||
import solutions.bitbadger.documents.integration.*
|
||||
import kotlin.test.assertEquals
|
||||
import kotlin.test.assertNotNull
|
||||
import kotlin.test.assertNull
|
@ -1,6 +1,9 @@
|
||||
package solutions.bitbadger.documents.common
|
||||
package solutions.bitbadger.documents.integration.common
|
||||
|
||||
import solutions.bitbadger.documents.*
|
||||
import solutions.bitbadger.documents.integration.JsonDocument
|
||||
import solutions.bitbadger.documents.integration.TEST_TABLE
|
||||
import solutions.bitbadger.documents.integration.ThrowawayDatabase
|
||||
import kotlin.test.assertEquals
|
||||
import kotlin.test.assertFalse
|
||||
import kotlin.test.assertNotNull
|
@ -1,6 +1,9 @@
|
||||
package solutions.bitbadger.documents.common
|
||||
package solutions.bitbadger.documents.integration.common
|
||||
|
||||
import solutions.bitbadger.documents.*
|
||||
import solutions.bitbadger.documents.integration.JsonDocument
|
||||
import solutions.bitbadger.documents.integration.TEST_TABLE
|
||||
import solutions.bitbadger.documents.integration.ThrowawayDatabase
|
||||
import kotlin.test.*
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
package solutions.bitbadger.documents.postgresql
|
||||
package solutions.bitbadger.documents.integration.postgresql
|
||||
|
||||
import org.junit.jupiter.api.DisplayName
|
||||
import solutions.bitbadger.documents.common.Count
|
||||
import solutions.bitbadger.documents.integration.common.Count
|
||||
import kotlin.test.Test
|
||||
|
||||
/**
|
@ -1,7 +1,7 @@
|
||||
package solutions.bitbadger.documents.postgresql
|
||||
package solutions.bitbadger.documents.integration.postgresql
|
||||
|
||||
import org.junit.jupiter.api.DisplayName
|
||||
import solutions.bitbadger.documents.common.Custom
|
||||
import solutions.bitbadger.documents.integration.common.Custom
|
||||
|
||||
import kotlin.test.Test
|
||||
|
@ -1,7 +1,7 @@
|
||||
package solutions.bitbadger.documents.postgresql
|
||||
package solutions.bitbadger.documents.integration.postgresql
|
||||
|
||||
import org.junit.jupiter.api.DisplayName
|
||||
import solutions.bitbadger.documents.common.Definition
|
||||
import solutions.bitbadger.documents.integration.common.Definition
|
||||
import kotlin.test.Test
|
||||
|
||||
/**
|
@ -1,7 +1,7 @@
|
||||
package solutions.bitbadger.documents.postgresql
|
||||
package solutions.bitbadger.documents.integration.postgresql
|
||||
|
||||
import org.junit.jupiter.api.DisplayName
|
||||
import solutions.bitbadger.documents.common.Delete
|
||||
import solutions.bitbadger.documents.integration.common.Delete
|
||||
import kotlin.test.Test
|
||||
|
||||
/**
|
@ -1,7 +1,7 @@
|
||||
package solutions.bitbadger.documents.postgresql
|
||||
package solutions.bitbadger.documents.integration.postgresql
|
||||
|
||||
import org.junit.jupiter.api.DisplayName
|
||||
import solutions.bitbadger.documents.common.Document
|
||||
import solutions.bitbadger.documents.integration.common.Document
|
||||
import kotlin.test.Test
|
||||
|
||||
/**
|
@ -1,7 +1,7 @@
|
||||
package solutions.bitbadger.documents.postgresql
|
||||
package solutions.bitbadger.documents.integration.postgresql
|
||||
|
||||
import org.junit.jupiter.api.DisplayName
|
||||
import solutions.bitbadger.documents.common.Exists
|
||||
import solutions.bitbadger.documents.integration.common.Exists
|
||||
import kotlin.test.Test
|
||||
|
||||
/**
|
@ -1,7 +1,7 @@
|
||||
package solutions.bitbadger.documents.postgresql
|
||||
package solutions.bitbadger.documents.integration.postgresql
|
||||
|
||||
import org.junit.jupiter.api.DisplayName
|
||||
import solutions.bitbadger.documents.common.Find
|
||||
import solutions.bitbadger.documents.integration.common.Find
|
||||
import kotlin.test.Test
|
||||
|
||||
/**
|
@ -1,7 +1,7 @@
|
||||
package solutions.bitbadger.documents.postgresql
|
||||
package solutions.bitbadger.documents.integration.postgresql
|
||||
|
||||
import org.junit.jupiter.api.DisplayName
|
||||
import solutions.bitbadger.documents.common.Patch
|
||||
import solutions.bitbadger.documents.integration.common.Patch
|
||||
import kotlin.test.Test
|
||||
|
||||
/**
|
@ -1,6 +1,8 @@
|
||||
package solutions.bitbadger.documents.postgresql
|
||||
package solutions.bitbadger.documents.integration.postgresql
|
||||
|
||||
import solutions.bitbadger.documents.*
|
||||
import solutions.bitbadger.documents.integration.TEST_TABLE
|
||||
import solutions.bitbadger.documents.integration.ThrowawayDatabase
|
||||
|
||||
/**
|
||||
* A wrapper for a throwaway PostgreSQL database
|
@ -1,7 +1,7 @@
|
||||
package solutions.bitbadger.documents.postgresql
|
||||
package solutions.bitbadger.documents.integration.postgresql
|
||||
|
||||
import org.junit.jupiter.api.DisplayName
|
||||
import solutions.bitbadger.documents.common.RemoveFields
|
||||
import solutions.bitbadger.documents.integration.common.RemoveFields
|
||||
import kotlin.test.Test
|
||||
|
||||
/**
|
@ -1,9 +1,9 @@
|
||||
package solutions.bitbadger.documents.sqlite
|
||||
package solutions.bitbadger.documents.integration.sqlite
|
||||
|
||||
import org.junit.jupiter.api.DisplayName
|
||||
import org.junit.jupiter.api.assertThrows
|
||||
import solutions.bitbadger.documents.DocumentException
|
||||
import solutions.bitbadger.documents.common.Count
|
||||
import solutions.bitbadger.documents.integration.common.Count
|
||||
import kotlin.test.Test
|
||||
|
||||
/**
|
@ -1,7 +1,7 @@
|
||||
package solutions.bitbadger.documents.sqlite
|
||||
package solutions.bitbadger.documents.integration.sqlite
|
||||
|
||||
import org.junit.jupiter.api.DisplayName
|
||||
import solutions.bitbadger.documents.common.Custom
|
||||
import solutions.bitbadger.documents.integration.common.Custom
|
||||
import kotlin.test.Test
|
||||
|
||||
/**
|
@ -1,9 +1,9 @@
|
||||
package solutions.bitbadger.documents.sqlite
|
||||
package solutions.bitbadger.documents.integration.sqlite
|
||||
|
||||
import org.junit.jupiter.api.DisplayName
|
||||
import org.junit.jupiter.api.assertThrows
|
||||
import solutions.bitbadger.documents.*
|
||||
import solutions.bitbadger.documents.common.Definition
|
||||
import solutions.bitbadger.documents.integration.common.Definition
|
||||
import kotlin.test.Test
|
||||
|
||||
/**
|
@ -1,9 +1,9 @@
|
||||
package solutions.bitbadger.documents.sqlite
|
||||
package solutions.bitbadger.documents.integration.sqlite
|
||||
|
||||
import org.junit.jupiter.api.DisplayName
|
||||
import org.junit.jupiter.api.assertThrows
|
||||
import solutions.bitbadger.documents.DocumentException
|
||||
import solutions.bitbadger.documents.common.Delete
|
||||
import solutions.bitbadger.documents.integration.common.Delete
|
||||
import kotlin.test.Test
|
||||
|
||||
/**
|
@ -1,7 +1,7 @@
|
||||
package solutions.bitbadger.documents.sqlite
|
||||
package solutions.bitbadger.documents.integration.sqlite
|
||||
|
||||
import org.junit.jupiter.api.DisplayName
|
||||
import solutions.bitbadger.documents.common.Document
|
||||
import solutions.bitbadger.documents.integration.common.Document
|
||||
import kotlin.test.Test
|
||||
|
||||
/**
|
@ -1,9 +1,9 @@
|
||||
package solutions.bitbadger.documents.sqlite
|
||||
package solutions.bitbadger.documents.integration.sqlite
|
||||
|
||||
import org.junit.jupiter.api.DisplayName
|
||||
import org.junit.jupiter.api.assertThrows
|
||||
import solutions.bitbadger.documents.DocumentException
|
||||
import solutions.bitbadger.documents.common.Exists
|
||||
import solutions.bitbadger.documents.integration.common.Exists
|
||||
import kotlin.test.Test
|
||||
|
||||
/**
|
@ -1,9 +1,9 @@
|
||||
package solutions.bitbadger.documents.sqlite
|
||||
package solutions.bitbadger.documents.integration.sqlite
|
||||
|
||||
import org.junit.jupiter.api.DisplayName
|
||||
import org.junit.jupiter.api.assertThrows
|
||||
import solutions.bitbadger.documents.DocumentException
|
||||
import solutions.bitbadger.documents.common.Find
|
||||
import solutions.bitbadger.documents.integration.common.Find
|
||||
import kotlin.test.Test
|
||||
|
||||
/**
|
@ -1,9 +1,9 @@
|
||||
package solutions.bitbadger.documents.sqlite
|
||||
package solutions.bitbadger.documents.integration.sqlite
|
||||
|
||||
import org.junit.jupiter.api.DisplayName
|
||||
import org.junit.jupiter.api.assertThrows
|
||||
import solutions.bitbadger.documents.DocumentException
|
||||
import solutions.bitbadger.documents.common.Patch
|
||||
import solutions.bitbadger.documents.integration.common.Patch
|
||||
import kotlin.test.Test
|
||||
|
||||
/**
|
@ -1,9 +1,9 @@
|
||||
package solutions.bitbadger.documents.sqlite
|
||||
package solutions.bitbadger.documents.integration.sqlite
|
||||
|
||||
import org.junit.jupiter.api.DisplayName
|
||||
import org.junit.jupiter.api.assertThrows
|
||||
import solutions.bitbadger.documents.DocumentException
|
||||
import solutions.bitbadger.documents.common.RemoveFields
|
||||
import solutions.bitbadger.documents.integration.common.RemoveFields
|
||||
import kotlin.test.Test
|
||||
|
||||
/**
|
@ -1,6 +1,8 @@
|
||||
package solutions.bitbadger.documents.sqlite
|
||||
package solutions.bitbadger.documents.integration.sqlite
|
||||
|
||||
import solutions.bitbadger.documents.*
|
||||
import solutions.bitbadger.documents.integration.TEST_TABLE
|
||||
import solutions.bitbadger.documents.integration.ThrowawayDatabase
|
||||
import java.io.File
|
||||
|
||||
/**
|
Loading…
x
Reference in New Issue
Block a user