embulk-input-dynamodb 0.2.0 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (70) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/master.yml +34 -0
  3. data/.github/workflows/test.yml +30 -0
  4. data/.scalafmt.conf +5 -0
  5. data/CHANGELOG.md +49 -0
  6. data/README.md +204 -54
  7. data/build.gradle +53 -44
  8. data/example/config-deprecated.yml +20 -0
  9. data/example/config-query-as-json.yml +18 -0
  10. data/example/config-query.yml +22 -0
  11. data/example/config-scan.yml +18 -0
  12. data/example/prepare_dynamodb_table.sh +67 -0
  13. data/gradle/wrapper/gradle-wrapper.jar +0 -0
  14. data/gradle/wrapper/gradle-wrapper.properties +1 -2
  15. data/gradlew +67 -48
  16. data/gradlew.bat +20 -10
  17. data/{test/run_dynamodb_local.sh → run_dynamodb_local.sh} +2 -1
  18. data/settings.gradle +1 -0
  19. data/src/main/scala/org/embulk/input/dynamodb/DeprecatedDynamodbInputPlugin.scala +73 -0
  20. data/src/main/scala/org/embulk/input/dynamodb/DynamodbInputPlugin.scala +76 -25
  21. data/src/main/scala/org/embulk/input/dynamodb/PluginTask.scala +132 -32
  22. data/src/main/scala/org/embulk/input/dynamodb/aws/Aws.scala +44 -0
  23. data/src/main/scala/org/embulk/input/dynamodb/aws/AwsClientConfiguration.scala +37 -0
  24. data/src/main/scala/org/embulk/input/dynamodb/aws/AwsCredentials.scala +240 -0
  25. data/src/main/scala/org/embulk/input/dynamodb/aws/AwsDynamodbConfiguration.scala +35 -0
  26. data/src/main/scala/org/embulk/input/dynamodb/aws/AwsEndpointConfiguration.scala +79 -0
  27. data/src/main/scala/org/embulk/input/dynamodb/aws/HttpProxy.scala +61 -0
  28. data/src/main/scala/org/embulk/input/dynamodb/deprecated/AttributeValueHelper.scala +72 -0
  29. data/src/main/scala/org/embulk/input/dynamodb/{Filter.scala → deprecated/Filter.scala} +3 -3
  30. data/src/main/scala/org/embulk/input/dynamodb/{FilterConfig.scala → deprecated/FilterConfig.scala} +13 -13
  31. data/src/main/scala/org/embulk/input/dynamodb/{ope → deprecated/ope}/AbstractOperation.scala +36 -18
  32. data/src/main/scala/org/embulk/input/dynamodb/{ope → deprecated/ope}/QueryOperation.scala +21 -13
  33. data/src/main/scala/org/embulk/input/dynamodb/{ope → deprecated/ope}/ScanOperation.scala +20 -13
  34. data/src/main/scala/org/embulk/input/dynamodb/item/DynamodbAttributeValue.scala +154 -0
  35. data/src/main/scala/org/embulk/input/dynamodb/item/DynamodbAttributeValueEmbulkTypeTransformable.scala +245 -0
  36. data/src/main/scala/org/embulk/input/dynamodb/item/DynamodbAttributeValueType.scala +33 -0
  37. data/src/main/scala/org/embulk/input/dynamodb/item/DynamodbItemColumnVisitor.scala +50 -0
  38. data/src/main/scala/org/embulk/input/dynamodb/item/DynamodbItemConsumer.scala +40 -0
  39. data/src/main/scala/org/embulk/input/dynamodb/item/DynamodbItemIterator.scala +19 -0
  40. data/src/main/scala/org/embulk/input/dynamodb/item/DynamodbItemReader.scala +64 -0
  41. data/src/main/scala/org/embulk/input/dynamodb/item/DynamodbItemSchema.scala +135 -0
  42. data/src/main/scala/org/embulk/input/dynamodb/operation/AbstractDynamodbOperation.scala +169 -0
  43. data/src/main/scala/org/embulk/input/dynamodb/operation/DynamodbOperationProxy.scala +59 -0
  44. data/src/main/scala/org/embulk/input/dynamodb/operation/DynamodbQueryOperation.scala +72 -0
  45. data/src/main/scala/org/embulk/input/dynamodb/operation/DynamodbScanOperation.scala +93 -0
  46. data/src/main/scala/org/embulk/input/dynamodb/operation/EmbulkDynamodbOperation.scala +15 -0
  47. data/src/main/scala/org/embulk/input/dynamodb/package.scala +4 -9
  48. data/src/test/scala/org/embulk/input/dynamodb/AttributeValueHelperTest.scala +245 -101
  49. data/src/test/scala/org/embulk/input/dynamodb/AwsCredentialsTest.scala +150 -97
  50. data/src/test/scala/org/embulk/input/dynamodb/DynamodbQueryOperationTest.scala +188 -0
  51. data/src/test/scala/org/embulk/input/dynamodb/DynamodbScanOperationTest.scala +181 -0
  52. data/src/test/scala/org/embulk/input/dynamodb/testutil/EmbulkTestBase.scala +85 -0
  53. metadata +73 -49
  54. data/circle.yml +0 -16
  55. data/config/checkstyle/checkstyle.xml +0 -128
  56. data/config/checkstyle/default.xml +0 -108
  57. data/src/main/scala/org/embulk/input/dynamodb/AttributeValueHelper.scala +0 -41
  58. data/src/main/scala/org/embulk/input/dynamodb/AwsCredentials.scala +0 -63
  59. data/src/main/scala/org/embulk/input/dynamodb/DynamoDBClient.scala +0 -23
  60. data/src/test/resources/yaml/authMethodBasic.yml +0 -21
  61. data/src/test/resources/yaml/authMethodBasic_Error.yml +0 -19
  62. data/src/test/resources/yaml/authMethodEnv.yml +0 -19
  63. data/src/test/resources/yaml/authMethodProfile.yml +0 -20
  64. data/src/test/resources/yaml/dynamodb-local-query.yml +0 -25
  65. data/src/test/resources/yaml/dynamodb-local-scan.yml +0 -23
  66. data/src/test/resources/yaml/notSetAuthMethod.yml +0 -20
  67. data/src/test/scala/org/embulk/input/dynamodb/ope/QueryOperationTest.scala +0 -83
  68. data/src/test/scala/org/embulk/input/dynamodb/ope/ScanOperationTest.scala +0 -83
  69. data/test/create_table.sh +0 -16
  70. data/test/put_items.sh +0 -25
@@ -0,0 +1,181 @@
1
+ package org.embulk.input.dynamodb
2
+
3
+ import com.amazonaws.services.dynamodbv2.model.{
4
+ AttributeDefinition,
5
+ AttributeValue,
6
+ CreateTableRequest,
7
+ KeySchemaElement,
8
+ KeyType,
9
+ ProvisionedThroughput,
10
+ PutItemRequest,
11
+ ScalarAttributeType
12
+ }
13
+ import org.embulk.config.ConfigSource
14
+ import org.embulk.input.dynamodb.testutil.EmbulkTestBase
15
+ import org.embulk.spi.util.Pages
16
+ import org.hamcrest.CoreMatchers._
17
+ import org.hamcrest.MatcherAssert.assertThat
18
+ import org.junit.Test
19
+ import org.msgpack.value.Value
20
+
21
+ import scala.jdk.CollectionConverters._
22
+
23
+ class DynamodbScanOperationTest extends EmbulkTestBase {
24
+
25
+ private def testBackwardCompatibility(embulkInConfig: ConfigSource): Unit = {
26
+ cleanupTable("EMBULK_DYNAMODB_TEST_TABLE")
27
+ withDynamodb { dynamodb =>
28
+ dynamodb.createTable(
29
+ new CreateTableRequest()
30
+ .withTableName("EMBULK_DYNAMODB_TEST_TABLE")
31
+ .withAttributeDefinitions(
32
+ new AttributeDefinition()
33
+ .withAttributeName("pri-key")
34
+ .withAttributeType(ScalarAttributeType.S),
35
+ new AttributeDefinition()
36
+ .withAttributeName("sort-key")
37
+ .withAttributeType(ScalarAttributeType.N)
38
+ )
39
+ .withKeySchema(
40
+ new KeySchemaElement()
41
+ .withAttributeName("pri-key")
42
+ .withKeyType(KeyType.HASH),
43
+ new KeySchemaElement()
44
+ .withAttributeName("sort-key")
45
+ .withKeyType(KeyType.RANGE)
46
+ )
47
+ .withProvisionedThroughput(
48
+ new ProvisionedThroughput()
49
+ .withReadCapacityUnits(5L)
50
+ .withWriteCapacityUnits(5L)
51
+ )
52
+ )
53
+
54
+ dynamodb.putItem(
55
+ new PutItemRequest()
56
+ .withTableName("EMBULK_DYNAMODB_TEST_TABLE")
57
+ .withItem(
58
+ Map
59
+ .newBuilder[String, AttributeValue]
60
+ .addOne("pri-key", new AttributeValue().withS("key-1"))
61
+ .addOne("sort-key", new AttributeValue().withN("0"))
62
+ .addOne("doubleValue", new AttributeValue().withN("42.195"))
63
+ .addOne("boolValue", new AttributeValue().withBOOL(true))
64
+ .addOne(
65
+ "listValue",
66
+ new AttributeValue().withL(
67
+ new AttributeValue().withS("list-value"),
68
+ new AttributeValue().withN("123")
69
+ )
70
+ )
71
+ .addOne(
72
+ "mapValue",
73
+ new AttributeValue().withM(
74
+ Map
75
+ .newBuilder[String, AttributeValue]
76
+ .addOne(
77
+ "map-key-1",
78
+ new AttributeValue().withS("map-value-1")
79
+ )
80
+ .addOne("map-key-2", new AttributeValue().withN("456"))
81
+ .result()
82
+ .asJava
83
+ )
84
+ )
85
+ .result()
86
+ .asJava
87
+ )
88
+ )
89
+ }
90
+
91
+ val path = embulk.createTempFile("csv")
92
+ val result = embulk
93
+ .inputBuilder()
94
+ .in(embulkInConfig)
95
+ .outputPath(path)
96
+ .preview()
97
+
98
+ val pages = result.getPages
99
+ val head = Pages.toObjects(result.getSchema, pages.get(0)).get(0)
100
+
101
+ assertThat(head(0).toString, is("key-1"))
102
+ assertThat(head(1).asInstanceOf[Long], is(0L))
103
+ assertThat(head(2).asInstanceOf[Double], is(42.195))
104
+ assertThat(head(3).asInstanceOf[Boolean], is(true))
105
+
106
+ val arrayValue = head(4).asInstanceOf[Value].asArrayValue()
107
+ assertThat(arrayValue.size(), is(2))
108
+ assertThat(arrayValue.get(0).asStringValue().toString, is("list-value"))
109
+ assertThat(arrayValue.get(1).asIntegerValue().asLong(), is(123L))
110
+
111
+ val mapValue = head(5).asInstanceOf[Value].asMapValue()
112
+ assert(mapValue.keySet().asScala.map(_.toString).contains("map-key-1"))
113
+ assertThat(
114
+ mapValue
115
+ .entrySet()
116
+ .asScala
117
+ .filter(_.getKey.toString.equals("map-key-1"))
118
+ .head
119
+ .getValue
120
+ .toString,
121
+ is("map-value-1")
122
+ )
123
+ assert(mapValue.keySet().asScala.map(_.toString).contains("map-key-2"))
124
+ assertThat(
125
+ mapValue
126
+ .entrySet()
127
+ .asScala
128
+ .filter(_.getKey.toString.equals("map-key-2"))
129
+ .head
130
+ .getValue
131
+ .asIntegerValue()
132
+ .asLong(),
133
+ is(456L)
134
+ )
135
+ }
136
+
137
+ @Test
138
+ def deprecatedScanOperationTest(): Unit = {
139
+
140
+ val inConfig: ConfigSource = embulk.configLoader().fromYamlString(s"""
141
+ |type: dynamodb
142
+ |end_point: http://${dynamoDBHost}:${dynamoDBPort}/
143
+ |table: EMBULK_DYNAMODB_TEST_TABLE
144
+ |auth_method: basic
145
+ |access_key: dummy
146
+ |secret_key: dummy
147
+ |operation: scan
148
+ |columns:
149
+ | - {name: pri-key, type: string}
150
+ | - {name: sort-key, type: long}
151
+ | - {name: doubleValue, type: double}
152
+ | - {name: boolValue, type: boolean}
153
+ | - {name: listValue, type: json}
154
+ | - {name: mapValue, type: json}
155
+ |""".stripMargin)
156
+
157
+ testBackwardCompatibility(inConfig)
158
+ }
159
+
160
+ @Test
161
+ def keepTheSameBehaviourAsDeprecatedScanOperationTest(): Unit = {
162
+ val inConfig: ConfigSource = embulk.configLoader().fromYamlString(s"""
163
+ |type: dynamodb
164
+ |endpoint: http://${dynamoDBHost}:${dynamoDBPort}/
165
+ |table: EMBULK_DYNAMODB_TEST_TABLE
166
+ |auth_method: basic
167
+ |access_key: dummy
168
+ |secret_key: dummy
169
+ |scan: {}
170
+ |columns:
171
+ | - {name: pri-key, type: string}
172
+ | - {name: sort-key, type: long}
173
+ | - {name: doubleValue, type: double}
174
+ | - {name: boolValue, type: boolean}
175
+ | - {name: listValue, type: json}
176
+ | - {name: mapValue, type: json}
177
+ |""".stripMargin)
178
+
179
+ testBackwardCompatibility(inConfig)
180
+ }
181
+ }
@@ -0,0 +1,85 @@
1
+ package org.embulk.input.dynamodb.testutil
2
+
3
+ import com.amazonaws.auth.{AWSStaticCredentialsProvider, BasicAWSCredentials}
4
+ import com.amazonaws.client.builder.AwsClientBuilder.EndpointConfiguration
5
+ import com.amazonaws.services.dynamodbv2.{
6
+ AmazonDynamoDB,
7
+ AmazonDynamoDBClientBuilder
8
+ }
9
+ import org.embulk.input.dynamodb.DynamodbInputPlugin
10
+ import org.embulk.spi.InputPlugin
11
+ import org.embulk.test.TestingEmbulk
12
+ import org.junit.{After, Rule}
13
+
14
+ import scala.util.{Failure, Success, Try}
15
+ import scala.util.chaining._
16
+
17
+ trait EmbulkTestBase {
18
+ val dynamoDBHost: String = "localhost"
19
+ val dynamoDBPort: Int = 8000
20
+
21
+ def withDynamodb[A](f: AmazonDynamoDB => A): A = {
22
+ AmazonDynamoDBClientBuilder
23
+ .standard()
24
+ .withEndpointConfiguration(
25
+ new EndpointConfiguration(
26
+ s"http://$dynamoDBHost:$dynamoDBPort",
27
+ "us-east-1"
28
+ )
29
+ )
30
+ .withCredentials(
31
+ new AWSStaticCredentialsProvider(
32
+ new BasicAWSCredentials("dummy", "dummy")
33
+ )
34
+ )
35
+ .build()
36
+ .pipe { client =>
37
+ try f(client)
38
+ finally client.shutdown()
39
+ }
40
+ }
41
+
42
+ def cleanupTable(name: String): Unit = {
43
+ withDynamodb { dynamodb =>
44
+ Try(dynamodb.describeTable(name)) match {
45
+ case Success(_) => dynamodb.deleteTable(name)
46
+ case Failure(_) => // Do nothing.
47
+ }
48
+ }
49
+ }
50
+
51
+ @Rule
52
+ def embulk: TestingEmbulk =
53
+ TestingEmbulk
54
+ .builder()
55
+ .registerPlugin(
56
+ classOf[InputPlugin],
57
+ "dynamodb",
58
+ classOf[DynamodbInputPlugin]
59
+ )
60
+ .build()
61
+
62
+ @After
63
+ def destroyEmbulk(): Unit = {
64
+ embulk.destroy()
65
+ }
66
+
67
+ def getEnvironmentVariableOrShowErrorMessage(name: String): String = {
68
+ try {
69
+ Option(System.getenv(name)) match {
70
+ case Some(x) => x
71
+ case None =>
72
+ throw new IllegalStateException(
73
+ s"Please set the environment variable: $name"
74
+ )
75
+ }
76
+ }
77
+ catch {
78
+ case e: Throwable =>
79
+ throw new IllegalStateException(
80
+ s"Please set the environment variable: $name",
81
+ e
82
+ )
83
+ }
84
+ }
85
+ }
metadata CHANGED
@@ -1,19 +1,20 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: embulk-input-dynamodb
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Daisuke Higashi
8
+ - Civitaspo
8
9
  autorequire:
9
10
  bindir: bin
10
11
  cert_chain: []
11
- date: 2016-10-03 00:00:00.000000000 Z
12
+ date: 2020-03-08 00:00:00.000000000 Z
12
13
  dependencies:
13
14
  - !ruby/object:Gem::Dependency
14
15
  requirement: !ruby/object:Gem::Requirement
15
16
  requirements:
16
- - - ~>
17
+ - - "~>"
17
18
  - !ruby/object:Gem::Version
18
19
  version: '1.0'
19
20
  name: bundler
@@ -21,79 +22,105 @@ dependencies:
21
22
  type: :development
22
23
  version_requirements: !ruby/object:Gem::Requirement
23
24
  requirements:
24
- - - ~>
25
+ - - "~>"
25
26
  - !ruby/object:Gem::Version
26
27
  version: '1.0'
27
28
  - !ruby/object:Gem::Dependency
28
29
  requirement: !ruby/object:Gem::Requirement
29
30
  requirements:
30
- - - '>='
31
+ - - "~>"
31
32
  - !ruby/object:Gem::Version
32
- version: '10.0'
33
+ version: '12.0'
33
34
  name: rake
34
35
  prerelease: false
35
36
  type: :development
36
37
  version_requirements: !ruby/object:Gem::Requirement
37
38
  requirements:
38
- - - '>='
39
+ - - "~>"
39
40
  - !ruby/object:Gem::Version
40
- version: '10.0'
41
+ version: '12.0'
41
42
  description: '"Loads records from Dynamodb."'
42
43
  email:
43
44
  - daisuke.develop@gmail.com
45
+ - civitaspo@gmail.com
44
46
  executables: []
45
47
  extensions: []
46
48
  extra_rdoc_files: []
47
49
  files:
48
- - .gitignore
50
+ - ".github/workflows/master.yml"
51
+ - ".github/workflows/test.yml"
52
+ - ".gitignore"
53
+ - ".scalafmt.conf"
54
+ - CHANGELOG.md
49
55
  - LICENSE
50
56
  - README.md
51
57
  - build.gradle
52
- - circle.yml
53
- - config/checkstyle/checkstyle.xml
54
- - config/checkstyle/default.xml
58
+ - classpath/aws-java-sdk-core-1.11.711.jar
59
+ - classpath/aws-java-sdk-dynamodb-1.11.711.jar
60
+ - classpath/aws-java-sdk-kms-1.11.711.jar
61
+ - classpath/aws-java-sdk-s3-1.11.711.jar
62
+ - classpath/aws-java-sdk-sts-1.11.711.jar
63
+ - classpath/commons-codec-1.11.jar
64
+ - classpath/commons-logging-1.2.jar
65
+ - classpath/embulk-input-dynamodb-0.3.0.jar
66
+ - classpath/httpclient-4.5.9.jar
67
+ - classpath/httpcore-4.4.11.jar
68
+ - classpath/ion-java-1.0.2.jar
69
+ - classpath/jackson-databind-2.6.7.3.jar
70
+ - classpath/jackson-dataformat-cbor-2.6.7.jar
71
+ - classpath/jmespath-java-1.11.711.jar
72
+ - classpath/scala-library-2.13.1.jar
73
+ - classpath/zio-macros-core_2.13-0.6.2.jar
74
+ - classpath/zio-stacktracer_2.13-1.0.0-RC17.jar
75
+ - classpath/zio_2.13-1.0.0-RC17.jar
76
+ - example/config-deprecated.yml
77
+ - example/config-query-as-json.yml
78
+ - example/config-query.yml
79
+ - example/config-scan.yml
80
+ - example/prepare_dynamodb_table.sh
55
81
  - gradle/wrapper/gradle-wrapper.jar
56
82
  - gradle/wrapper/gradle-wrapper.properties
57
83
  - gradlew
58
84
  - gradlew.bat
59
85
  - lib/embulk/input/dynamodb.rb
60
- - src/main/scala/org/embulk/input/dynamodb/AttributeValueHelper.scala
61
- - src/main/scala/org/embulk/input/dynamodb/AwsCredentials.scala
62
- - src/main/scala/org/embulk/input/dynamodb/DynamoDBClient.scala
86
+ - run_dynamodb_local.sh
87
+ - settings.gradle
88
+ - src/main/scala/org/embulk/input/dynamodb/DeprecatedDynamodbInputPlugin.scala
63
89
  - src/main/scala/org/embulk/input/dynamodb/DynamodbInputPlugin.scala
64
- - src/main/scala/org/embulk/input/dynamodb/Filter.scala
65
- - src/main/scala/org/embulk/input/dynamodb/FilterConfig.scala
66
90
  - src/main/scala/org/embulk/input/dynamodb/PluginTask.scala
67
- - src/main/scala/org/embulk/input/dynamodb/ope/AbstractOperation.scala
68
- - src/main/scala/org/embulk/input/dynamodb/ope/QueryOperation.scala
69
- - src/main/scala/org/embulk/input/dynamodb/ope/ScanOperation.scala
91
+ - src/main/scala/org/embulk/input/dynamodb/aws/Aws.scala
92
+ - src/main/scala/org/embulk/input/dynamodb/aws/AwsClientConfiguration.scala
93
+ - src/main/scala/org/embulk/input/dynamodb/aws/AwsCredentials.scala
94
+ - src/main/scala/org/embulk/input/dynamodb/aws/AwsDynamodbConfiguration.scala
95
+ - src/main/scala/org/embulk/input/dynamodb/aws/AwsEndpointConfiguration.scala
96
+ - src/main/scala/org/embulk/input/dynamodb/aws/HttpProxy.scala
97
+ - src/main/scala/org/embulk/input/dynamodb/deprecated/AttributeValueHelper.scala
98
+ - src/main/scala/org/embulk/input/dynamodb/deprecated/Filter.scala
99
+ - src/main/scala/org/embulk/input/dynamodb/deprecated/FilterConfig.scala
100
+ - src/main/scala/org/embulk/input/dynamodb/deprecated/ope/AbstractOperation.scala
101
+ - src/main/scala/org/embulk/input/dynamodb/deprecated/ope/QueryOperation.scala
102
+ - src/main/scala/org/embulk/input/dynamodb/deprecated/ope/ScanOperation.scala
103
+ - src/main/scala/org/embulk/input/dynamodb/item/DynamodbAttributeValue.scala
104
+ - src/main/scala/org/embulk/input/dynamodb/item/DynamodbAttributeValueEmbulkTypeTransformable.scala
105
+ - src/main/scala/org/embulk/input/dynamodb/item/DynamodbAttributeValueType.scala
106
+ - src/main/scala/org/embulk/input/dynamodb/item/DynamodbItemColumnVisitor.scala
107
+ - src/main/scala/org/embulk/input/dynamodb/item/DynamodbItemConsumer.scala
108
+ - src/main/scala/org/embulk/input/dynamodb/item/DynamodbItemIterator.scala
109
+ - src/main/scala/org/embulk/input/dynamodb/item/DynamodbItemReader.scala
110
+ - src/main/scala/org/embulk/input/dynamodb/item/DynamodbItemSchema.scala
111
+ - src/main/scala/org/embulk/input/dynamodb/operation/AbstractDynamodbOperation.scala
112
+ - src/main/scala/org/embulk/input/dynamodb/operation/DynamodbOperationProxy.scala
113
+ - src/main/scala/org/embulk/input/dynamodb/operation/DynamodbQueryOperation.scala
114
+ - src/main/scala/org/embulk/input/dynamodb/operation/DynamodbScanOperation.scala
115
+ - src/main/scala/org/embulk/input/dynamodb/operation/EmbulkDynamodbOperation.scala
70
116
  - src/main/scala/org/embulk/input/dynamodb/package.scala
71
117
  - src/test/resources/json/test.json
72
118
  - src/test/resources/json/test.template
73
- - src/test/resources/yaml/authMethodBasic.yml
74
- - src/test/resources/yaml/authMethodBasic_Error.yml
75
- - src/test/resources/yaml/authMethodEnv.yml
76
- - src/test/resources/yaml/authMethodProfile.yml
77
- - src/test/resources/yaml/dynamodb-local-query.yml
78
- - src/test/resources/yaml/dynamodb-local-scan.yml
79
- - src/test/resources/yaml/notSetAuthMethod.yml
80
119
  - src/test/scala/org/embulk/input/dynamodb/AttributeValueHelperTest.scala
81
120
  - src/test/scala/org/embulk/input/dynamodb/AwsCredentialsTest.scala
82
- - src/test/scala/org/embulk/input/dynamodb/ope/QueryOperationTest.scala
83
- - src/test/scala/org/embulk/input/dynamodb/ope/ScanOperationTest.scala
84
- - test/create_table.sh
85
- - test/put_items.sh
86
- - test/run_dynamodb_local.sh
87
- - classpath/aws-java-sdk-core-1.10.43.jar
88
- - classpath/aws-java-sdk-dynamodb-1.10.43.jar
89
- - classpath/aws-java-sdk-kms-1.10.43.jar
90
- - classpath/aws-java-sdk-s3-1.10.43.jar
91
- - classpath/commons-codec-1.6.jar
92
- - classpath/commons-logging-1.1.3.jar
93
- - classpath/embulk-input-dynamodb-0.2.0.jar
94
- - classpath/httpclient-4.3.6.jar
95
- - classpath/httpcore-4.3.3.jar
96
- - classpath/scala-library-2.11.8.jar
121
+ - src/test/scala/org/embulk/input/dynamodb/DynamodbQueryOperationTest.scala
122
+ - src/test/scala/org/embulk/input/dynamodb/DynamodbScanOperationTest.scala
123
+ - src/test/scala/org/embulk/input/dynamodb/testutil/EmbulkTestBase.scala
97
124
  homepage: https://github.com/lulichn/embulk-input-dynamodb
98
125
  licenses:
99
126
  - MIT
@@ -104,21 +131,18 @@ require_paths:
104
131
  - lib
105
132
  required_ruby_version: !ruby/object:Gem::Requirement
106
133
  requirements:
107
- - - '>='
134
+ - - ">="
108
135
  - !ruby/object:Gem::Version
109
136
  version: '0'
110
137
  required_rubygems_version: !ruby/object:Gem::Requirement
111
138
  requirements:
112
- - - '>='
139
+ - - ">="
113
140
  - !ruby/object:Gem::Version
114
141
  version: '0'
115
142
  requirements: []
116
143
  rubyforge_project:
117
- rubygems_version: 2.1.9
144
+ rubygems_version: 2.6.8
118
145
  signing_key:
119
146
  specification_version: 4
120
147
  summary: Dynamodb input plugin for Embulk
121
- test_files:
122
- - test/create_table.sh
123
- - test/put_items.sh
124
- - test/run_dynamodb_local.sh
148
+ test_files: []