trait TestDynamoDBExecutor extends AnyRef
A Fake implementation of DynamoDBExecutor.Service that currently has the very modest aspiration of providing bare minimum
functionality to enable internal unit tests and to enable simple end to end examples that can serve as documentation.
Limited CRUD functionality is supported hence some features are currently not supported or have restrictions.
- Supported
- CRUD operations GetItem, PutItem, DeleteItem, BatchGetItem, BatchWriteItem
- Limited support
- Primary Keys - only the partition key can be specified and is only checked for equality
- Not currently supported
- Projections - all fields are returned for all queries
- Expressions - these include
KeyConditionExpression's,ConditionExpression's,ProjectionExpression's,UpdateExpression's - Create table, Delete table
- UpdateItem - this is a more complex case as it uses an expression to specify the update
- Indexes in ScanSome, ScanAll, QuerySome, QueryAll
Usage: DynamoDBExecutor.test provides you the test DB instance in a ZLayer.
Tables are created using the addTable method in the test controller service TestDynamoDBExecutor. You specify
a table, a single primary and a var arg list of primary key/item pairs.
testM("getItem") { for { _ <- TestDynamoDBExecutor.addTable("tableName1", primaryKeyFieldName = "k1", primaryKey1 -> item1, primaryKey1_2 -> item1_2) result <- GetItem(key = primaryKey1, tableName = tableName1).execute expected = Some(item1) } yield assert(result)(equalTo(expected)) }.provideLayer(DynamoDBExecutor.test)
Linear Supertypes
Ordering
- Alphabetic
- By Inheritance
Inherited
- TestDynamoDBExecutor
- AnyRef
- Any
- Hide All
- Show All
Visibility
- Public
- Protected
Abstract Value Members
Concrete Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()