Added:
camel/trunk/components/camel-aws/src/test/java/org/apache/camel/component/aws/ddb/DeleteItemCommandTest.java
URL:
http://svn.apache.org/viewvc/camel/trunk/components/camel-aws/src/test/java/org/apache/camel/component/aws/ddb/DeleteItemCommandTest.java?rev=1240737&view=auto
==============================================================================
---
camel/trunk/components/camel-aws/src/test/java/org/apache/camel/component/aws/ddb/DeleteItemCommandTest.java
(added)
+++
camel/trunk/components/camel-aws/src/test/java/org/apache/camel/component/aws/ddb/DeleteItemCommandTest.java
Sun Feb 5 14:04:10 2012
@@ -0,0 +1,72 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.aws.ddb;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import com.amazonaws.services.dynamodb.model.AttributeValue;
+import com.amazonaws.services.dynamodb.model.ExpectedAttributeValue;
+import com.amazonaws.services.dynamodb.model.Key;
+
+import org.apache.camel.Exchange;
+import org.apache.camel.impl.DefaultCamelContext;
+import org.apache.camel.impl.DefaultExchange;
+import org.junit.Before;
+import org.junit.Test;
+
+import static org.junit.Assert.assertEquals;
+
+public class DeleteItemCommandTest {
+
+ private DeleteItemCommand command;
+ private AmazonDDBClientMock ddbClient;
+ private DdbConfiguration configuration;
+ private Exchange exchange;
+
+ @Before
+ public void setUp() {
+ ddbClient = new AmazonDDBClientMock();
+ configuration = new DdbConfiguration();
+ configuration.setTableName("DOMAIN1");
+ exchange = new DefaultExchange(new DefaultCamelContext());
+ command = new DeleteItemCommand(ddbClient, configuration, exchange);
+ }
+
+ @Test
+ public void execute() {
+ Key key = new Key(new AttributeValue("Key_1"));
+ exchange.getIn().setHeader(DdbConstants.KEY, key);
+
+
+ Map<String, ExpectedAttributeValue> updateCondition = new
HashMap<String, ExpectedAttributeValue>();
+ updateCondition
+ .put("name", new ExpectedAttributeValue(new
AttributeValue("expected value")));
+ exchange.getIn().setHeader(DdbConstants.UPDATE_CONDITION,
updateCondition);
+ exchange.getIn().setHeader(DdbConstants.RETURN_VALUES, "ALL_OLD");
+
+ command.execute();
+
+ assertEquals("DOMAIN1", ddbClient.deleteItemRequest.getTableName());
+ assertEquals(key, ddbClient.deleteItemRequest.getKey());
+ assertEquals(updateCondition,
ddbClient.deleteItemRequest.getExpected());
+ assertEquals("ALL_OLD", ddbClient.deleteItemRequest.getReturnValues());
+ assertEquals(new AttributeValue("attrValue"),
+ exchange.getIn().getHeader(DdbConstants.ATTRIBUTES,
Map.class).get(
+ "attrName"));
+ }
+}
Propchange:
camel/trunk/components/camel-aws/src/test/java/org/apache/camel/component/aws/ddb/DeleteItemCommandTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange:
camel/trunk/components/camel-aws/src/test/java/org/apache/camel/component/aws/ddb/DeleteItemCommandTest.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Added:
camel/trunk/components/camel-aws/src/test/java/org/apache/camel/component/aws/ddb/DeleteTableCommandTest.java
URL:
http://svn.apache.org/viewvc/camel/trunk/components/camel-aws/src/test/java/org/apache/camel/component/aws/ddb/DeleteTableCommandTest.java?rev=1240737&view=auto
==============================================================================
---
camel/trunk/components/camel-aws/src/test/java/org/apache/camel/component/aws/ddb/DeleteTableCommandTest.java
(added)
+++
camel/trunk/components/camel-aws/src/test/java/org/apache/camel/component/aws/ddb/DeleteTableCommandTest.java
Sun Feb 5 14:04:10 2012
@@ -0,0 +1,67 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.aws.ddb;
+
+import java.util.Date;
+
+import com.amazonaws.services.dynamodb.model.KeySchema;
+import com.amazonaws.services.dynamodb.model.ProvisionedThroughput;
+import com.amazonaws.services.dynamodb.model.ProvisionedThroughputDescription;
+import com.amazonaws.services.dynamodb.model.TableDescription;
+import com.amazonaws.services.dynamodb.model.TableStatus;
+
+import org.apache.camel.Exchange;
+import org.apache.camel.component.aws.sdb.AmazonSDBClientMock;
+import org.apache.camel.impl.DefaultCamelContext;
+import org.apache.camel.impl.DefaultExchange;
+import org.junit.Before;
+import org.junit.Test;
+
+import static org.junit.Assert.assertEquals;
+
+public class DeleteTableCommandTest {
+
+ private DeleteTableCommand command;
+ private AmazonDDBClientMock ddbClient;
+ private DdbConfiguration configuration;
+ private Exchange exchange;
+
+ @Before
+ public void setUp() {
+ ddbClient = new AmazonDDBClientMock();
+ configuration = new DdbConfiguration();
+ configuration.setTableName("DOMAIN1");
+ exchange = new DefaultExchange(new DefaultCamelContext());
+
+ command = new DeleteTableCommand(ddbClient, configuration, exchange);
+ }
+
+ @Test
+ public void testExecute() {
+ command.execute();
+
+ assertEquals("DOMAIN1", ddbClient.deleteTableRequest.getTableName());
+ assertEquals(new ProvisionedThroughputDescription(),
exchange.getIn().getHeader(
+ DdbConstants.PROVISIONED_THROUGHPUT));
+ assertEquals(new Date(AmazonDDBClientMock.NOW),
exchange.getIn().getHeader(DdbConstants.CREATION_DATE,
+ Date.class));
+ assertEquals(Long.valueOf(10L),
exchange.getIn().getHeader(DdbConstants.ITEM_COUNT, Long.class));
+ assertEquals(new KeySchema(),
exchange.getIn().getHeader(DdbConstants.KEY_SCHEMA, KeySchema.class));
+ assertEquals(Long.valueOf(20L),
exchange.getIn().getHeader(DdbConstants.TABLE_SIZE, Long.class));
+ assertEquals(TableStatus.ACTIVE,
exchange.getIn().getHeader(DdbConstants.TABLE_STATUS, TableStatus.class));
+ }
+}
\ No newline at end of file
Propchange:
camel/trunk/components/camel-aws/src/test/java/org/apache/camel/component/aws/ddb/DeleteTableCommandTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange:
camel/trunk/components/camel-aws/src/test/java/org/apache/camel/component/aws/ddb/DeleteTableCommandTest.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Added:
camel/trunk/components/camel-aws/src/test/java/org/apache/camel/component/aws/ddb/DescribeTableCommandTest.java
URL:
http://svn.apache.org/viewvc/camel/trunk/components/camel-aws/src/test/java/org/apache/camel/component/aws/ddb/DescribeTableCommandTest.java?rev=1240737&view=auto
==============================================================================
---
camel/trunk/components/camel-aws/src/test/java/org/apache/camel/component/aws/ddb/DescribeTableCommandTest.java
(added)
+++
camel/trunk/components/camel-aws/src/test/java/org/apache/camel/component/aws/ddb/DescribeTableCommandTest.java
Sun Feb 5 14:04:10 2012
@@ -0,0 +1,62 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.aws.ddb;
+
+import java.util.Date;
+
+import com.amazonaws.services.dynamodb.model.KeySchema;
+import com.amazonaws.services.dynamodb.model.KeySchemaElement;
+
+import org.apache.camel.Exchange;
+import org.apache.camel.impl.DefaultCamelContext;
+import org.apache.camel.impl.DefaultExchange;
+import org.junit.Before;
+import org.junit.Test;
+
+import static org.junit.Assert.assertEquals;
+
+public class DescribeTableCommandTest {
+
+ private DescribeTableCommand command;
+ private AmazonDDBClientMock ddbClient;
+ private DdbConfiguration configuration;
+ private Exchange exchange;
+
+ @Before
+ public void setUp() {
+ ddbClient = new AmazonDDBClientMock();
+ configuration = new DdbConfiguration();
+ configuration.setTableName("FULL_DESCRIBE_TABLE");
+ exchange = new DefaultExchange(new DefaultCamelContext());
+ command = new DescribeTableCommand(ddbClient, configuration, exchange);
+ }
+
+ @Test
+ public void testExecute() {
+ command.execute();
+ assertEquals("FULL_DESCRIBE_TABLE",
ddbClient.describeTableRequest.getTableName());
+ assertEquals("FULL_DESCRIBE_TABLE",
exchange.getIn().getHeader(DdbConstants.TABLE_NAME));
+ assertEquals("ACTIVE",
exchange.getIn().getHeader(DdbConstants.TABLE_STATUS));
+ assertEquals(new Date(AmazonDDBClientMock.NOW),
exchange.getIn().getHeader(DdbConstants.TABLE_CREATION_DATE));
+ assertEquals(100L,
exchange.getIn().getHeader(DdbConstants.ITEM_COUNT));
+ assertEquals(new KeySchema(new
KeySchemaElement().withAttributeName("name")),
+ exchange.getIn().getHeader(DdbConstants.KEY_SCHEMA));
+ assertEquals(20L,
exchange.getIn().getHeader(DdbConstants.READ_CAPACITY));
+ assertEquals(10L,
exchange.getIn().getHeader(DdbConstants.WRITE_CAPACITY));
+ assertEquals(1000L,
exchange.getIn().getHeader(DdbConstants.TABLE_SIZE));
+ }
+}
\ No newline at end of file
Propchange:
camel/trunk/components/camel-aws/src/test/java/org/apache/camel/component/aws/ddb/DescribeTableCommandTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange:
camel/trunk/components/camel-aws/src/test/java/org/apache/camel/component/aws/ddb/DescribeTableCommandTest.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Added:
camel/trunk/components/camel-aws/src/test/java/org/apache/camel/component/aws/ddb/GetItemCommandTest.java
URL:
http://svn.apache.org/viewvc/camel/trunk/components/camel-aws/src/test/java/org/apache/camel/component/aws/ddb/GetItemCommandTest.java?rev=1240737&view=auto
==============================================================================
---
camel/trunk/components/camel-aws/src/test/java/org/apache/camel/component/aws/ddb/GetItemCommandTest.java
(added)
+++
camel/trunk/components/camel-aws/src/test/java/org/apache/camel/component/aws/ddb/GetItemCommandTest.java
Sun Feb 5 14:04:10 2012
@@ -0,0 +1,68 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.aws.ddb;
+
+import java.util.Arrays;
+import java.util.List;
+import java.util.Map;
+
+import com.amazonaws.services.dynamodb.model.AttributeValue;
+import com.amazonaws.services.dynamodb.model.Key;
+
+import org.apache.camel.Exchange;
+import org.apache.camel.impl.DefaultCamelContext;
+import org.apache.camel.impl.DefaultExchange;
+import org.junit.Before;
+import org.junit.Test;
+
+import static org.junit.Assert.assertEquals;
+
+public class GetItemCommandTest {
+ private GetItemCommand command;
+ private AmazonDDBClientMock ddbClient;
+ private DdbConfiguration configuration;
+ private Exchange exchange;
+
+ @Before
+ public void setUp() {
+ ddbClient = new AmazonDDBClientMock();
+ configuration = new DdbConfiguration();
+ configuration.setTableName("DOMAIN1");
+ exchange = new DefaultExchange(new DefaultCamelContext());
+ command = new GetItemCommand(ddbClient, configuration, exchange);
+ }
+
+ @Test
+ public void execute() {
+ Key key = new Key(new AttributeValue("Key_1"));
+ exchange.getIn().setHeader(DdbConstants.KEY, key);
+
+ List<String> attrNames = Arrays.asList("attrName");
+ exchange.getIn().setHeader(DdbConstants.ATTRIBUTE_NAMES, attrNames);
+ exchange.getIn().setHeader(DdbConstants.CONSISTENT_READ, true);
+
+ command.execute();
+
+ assertEquals("DOMAIN1", ddbClient.getItemRequest.getTableName());
+ assertEquals(attrNames, ddbClient.getItemRequest.getAttributesToGet());
+ assertEquals(true, ddbClient.getItemRequest.getConsistentRead());
+ assertEquals(key, ddbClient.getItemRequest.getKey());
+ assertEquals(new AttributeValue("attrValue"),
+ exchange.getIn().getHeader(DdbConstants.ATTRIBUTES,
Map.class).get(
+ "attrName"));
+ }
+}
Propchange:
camel/trunk/components/camel-aws/src/test/java/org/apache/camel/component/aws/ddb/GetItemCommandTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange:
camel/trunk/components/camel-aws/src/test/java/org/apache/camel/component/aws/ddb/GetItemCommandTest.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Added:
camel/trunk/components/camel-aws/src/test/java/org/apache/camel/component/aws/ddb/PutItemCommandTest.java
URL:
http://svn.apache.org/viewvc/camel/trunk/components/camel-aws/src/test/java/org/apache/camel/component/aws/ddb/PutItemCommandTest.java?rev=1240737&view=auto
==============================================================================
---
camel/trunk/components/camel-aws/src/test/java/org/apache/camel/component/aws/ddb/PutItemCommandTest.java
(added)
+++
camel/trunk/components/camel-aws/src/test/java/org/apache/camel/component/aws/ddb/PutItemCommandTest.java
Sun Feb 5 14:04:10 2012
@@ -0,0 +1,68 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.aws.ddb;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import com.amazonaws.services.dynamodb.model.AttributeValue;
+import com.amazonaws.services.dynamodb.model.ExpectedAttributeValue;
+
+import org.apache.camel.Exchange;
+import org.apache.camel.impl.DefaultCamelContext;
+import org.apache.camel.impl.DefaultExchange;
+import org.junit.Before;
+import org.junit.Test;
+
+import static org.junit.Assert.assertEquals;
+
+public class PutItemCommandTest {
+
+ private PutItemCommand command;
+ private AmazonDDBClientMock ddbClient;
+ private DdbConfiguration configuration;
+ private Exchange exchange;
+
+ @Before
+ public void setUp() {
+ ddbClient = new AmazonDDBClientMock();
+ configuration = new DdbConfiguration();
+ configuration.setTableName("DOMAIN1");
+ exchange = new DefaultExchange(new DefaultCamelContext());
+ command = new PutItemCommand(ddbClient, configuration, exchange);
+ }
+
+ @Test
+ public void execute() {
+ Map<String, AttributeValue> attributeMap = new HashMap<String,
AttributeValue>();
+ AttributeValue attributeValue = new AttributeValue("test value");
+ attributeMap.put("name", attributeValue);
+ exchange.getIn().setHeader(DdbConstants.ITEM, attributeMap);
+
+ Map<String, ExpectedAttributeValue> expectedAttributeValueMap = new
HashMap<String, ExpectedAttributeValue>();
+ expectedAttributeValueMap.put("name", new
ExpectedAttributeValue(attributeValue));
+ exchange.getIn().setHeader(DdbConstants.UPDATE_CONDITION,
expectedAttributeValueMap);
+
+ command.execute();
+
+ assertEquals("DOMAIN1", ddbClient.putItemRequest.getTableName());
+ assertEquals(attributeMap, ddbClient.putItemRequest.getItem());
+ assertEquals(expectedAttributeValueMap,
ddbClient.putItemRequest.getExpected());
+ assertEquals(new AttributeValue("attrValue"),
+ exchange.getIn().getHeader(DdbConstants.ATTRIBUTES,
Map.class).get("attrName"));
+ }
+}
Propchange:
camel/trunk/components/camel-aws/src/test/java/org/apache/camel/component/aws/ddb/PutItemCommandTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange:
camel/trunk/components/camel-aws/src/test/java/org/apache/camel/component/aws/ddb/PutItemCommandTest.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Added:
camel/trunk/components/camel-aws/src/test/java/org/apache/camel/component/aws/ddb/QueryCommandTest.java
URL:
http://svn.apache.org/viewvc/camel/trunk/components/camel-aws/src/test/java/org/apache/camel/component/aws/ddb/QueryCommandTest.java?rev=1240737&view=auto
==============================================================================
---
camel/trunk/components/camel-aws/src/test/java/org/apache/camel/component/aws/ddb/QueryCommandTest.java
(added)
+++
camel/trunk/components/camel-aws/src/test/java/org/apache/camel/component/aws/ddb/QueryCommandTest.java
Sun Feb 5 14:04:10 2012
@@ -0,0 +1,84 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.aws.ddb;
+
+import java.util.Arrays;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import com.amazonaws.services.dynamodb.model.AttributeValue;
+import com.amazonaws.services.dynamodb.model.ComparisonOperator;
+import com.amazonaws.services.dynamodb.model.Condition;
+import com.amazonaws.services.dynamodb.model.Key;
+import com.amazonaws.services.dynamodb.model.QueryResult;
+
+import org.apache.camel.Exchange;
+import org.apache.camel.impl.DefaultCamelContext;
+import org.apache.camel.impl.DefaultExchange;
+import org.junit.Before;
+import org.junit.Test;
+
+import static org.junit.Assert.assertEquals;
+
+public class QueryCommandTest {
+
+ private QueryCommand command;
+ private AmazonDDBClientMock ddbClient;
+ private DdbConfiguration configuration;
+ private Exchange exchange;
+
+ @Before
+ public void setUp() {
+ ddbClient = new AmazonDDBClientMock();
+ configuration = new DdbConfiguration();
+ configuration.setTableName("DOMAIN1");
+ exchange = new DefaultExchange(new DefaultCamelContext());
+ command = new QueryCommand(ddbClient, configuration, exchange);
+ }
+
+ @Test
+ public void execute() {
+
+ Key startKey = new Key(new AttributeValue("startKey"));
+ AttributeValue attributeValue = new AttributeValue().withN("1985");
+ Condition condition = new Condition()
+ .withComparisonOperator(ComparisonOperator.GT.toString())
+ .withAttributeValueList(new AttributeValue().withN("1985"));
+
+ List<String> attributeNames = Arrays.asList("attrNameOne",
"attrNameTwo");
+ exchange.getIn().setHeader(DdbConstants.ATTRIBUTE_NAMES,
attributeNames);
+ exchange.getIn().setHeader(DdbConstants.EXACT_COUNT, true);
+ exchange.getIn().setHeader(DdbConstants.CONSISTENT_READ, true);
+ exchange.getIn().setHeader(DdbConstants.START_KEY, startKey);
+ exchange.getIn().setHeader(DdbConstants.HASH_KEY_VALUE,
attributeValue);
+ exchange.getIn().setHeader(DdbConstants.LIMIT, 10);
+ exchange.getIn().setHeader(DdbConstants.SCAN_RANGE_KEY_CONDITION,
condition);
+ exchange.getIn().setHeader(DdbConstants.SCAN_INDEX_FORWARD, true);
+
+ command.execute();
+
+ assertEquals(Integer.valueOf(1),
exchange.getIn().getHeader(DdbConstants.COUNT, Integer.class));
+ assertEquals(Double.valueOf(1.0),
exchange.getIn().getHeader(DdbConstants.CONSUMED_CAPACITY,
+ Double.class));
+ assertEquals(new Key(new AttributeValue("LAST_KEY")),
exchange.getIn().getHeader(
+ DdbConstants.LAST_EVALUATED_KEY, Key.class));
+ Map<String, AttributeValue> items = (Map<String,
AttributeValue>)exchange.getIn().getHeader(
+ DdbConstants.ITEMS, List.class).get(0);
+ assertEquals(new AttributeValue("attrValue"), items.get("attrName"));
+ }
+}
Propchange:
camel/trunk/components/camel-aws/src/test/java/org/apache/camel/component/aws/ddb/QueryCommandTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange:
camel/trunk/components/camel-aws/src/test/java/org/apache/camel/component/aws/ddb/QueryCommandTest.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Added:
camel/trunk/components/camel-aws/src/test/java/org/apache/camel/component/aws/ddb/ScanCommandTest.java
URL:
http://svn.apache.org/viewvc/camel/trunk/components/camel-aws/src/test/java/org/apache/camel/component/aws/ddb/ScanCommandTest.java?rev=1240737&view=auto
==============================================================================
---
camel/trunk/components/camel-aws/src/test/java/org/apache/camel/component/aws/ddb/ScanCommandTest.java
(added)
+++
camel/trunk/components/camel-aws/src/test/java/org/apache/camel/component/aws/ddb/ScanCommandTest.java
Sun Feb 5 14:04:10 2012
@@ -0,0 +1,78 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.aws.ddb;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import com.amazonaws.services.dynamodb.model.AttributeValue;
+import com.amazonaws.services.dynamodb.model.ComparisonOperator;
+import com.amazonaws.services.dynamodb.model.Condition;
+import com.amazonaws.services.dynamodb.model.Key;
+
+import org.apache.camel.Exchange;
+import org.apache.camel.impl.DefaultCamelContext;
+import org.apache.camel.impl.DefaultExchange;
+import org.junit.Before;
+import org.junit.Test;
+
+import static org.junit.Assert.assertEquals;
+
+public class ScanCommandTest {
+
+ private ScanCommand command;
+ private AmazonDDBClientMock ddbClient;
+ private DdbConfiguration configuration;
+ private Exchange exchange;
+
+ @Before
+ public void setUp() {
+ ddbClient = new AmazonDDBClientMock();
+ configuration = new DdbConfiguration();
+ configuration.setTableName("DOMAIN1");
+ exchange = new DefaultExchange(new DefaultCamelContext());
+ command = new ScanCommand(ddbClient, configuration, exchange);
+ }
+
+ @Test
+ public void execute() {
+ HashMap<String, Condition> scanFilter = new HashMap<String,
Condition>();
+ Condition condition = new Condition()
+ .withComparisonOperator(ComparisonOperator.GT.toString())
+ .withAttributeValueList(new AttributeValue().withN("1985"));
+ scanFilter.put("year", condition);
+ exchange.getIn().setHeader(DdbConstants.SCAN_FILTER, scanFilter);
+
+ command.execute();
+
+ assertEquals(scanFilter, ddbClient.scanRequest.getScanFilter());
+ assertEquals(Integer.valueOf(10),
exchange.getIn().getHeader(DdbConstants.SCANNED_COUNT,
+ Integer.class));
+ assertEquals(Integer.valueOf(1),
exchange.getIn().getHeader(DdbConstants.COUNT, Integer.class));
+ assertEquals(Double.valueOf(1.0),
exchange.getIn().getHeader(DdbConstants.CONSUMED_CAPACITY,
+ Double.class));
+ assertEquals(new Key(new AttributeValue("LAST_KEY")),
exchange.getIn().getHeader(
+ DdbConstants.LAST_EVALUATED_KEY, Key.class));
+
+ Map<String, AttributeValue> items = (Map<String,
AttributeValue>)exchange.getIn().getHeader(
+ DdbConstants.ITEMS, List.class).get(0);
+
+ assertEquals(new AttributeValue("attrValue"), items.get("attrName"));
+
+ }
+}
\ No newline at end of file
Propchange:
camel/trunk/components/camel-aws/src/test/java/org/apache/camel/component/aws/ddb/ScanCommandTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange:
camel/trunk/components/camel-aws/src/test/java/org/apache/camel/component/aws/ddb/ScanCommandTest.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Added:
camel/trunk/components/camel-aws/src/test/java/org/apache/camel/component/aws/ddb/UpdateItemCommandTest.java
URL:
http://svn.apache.org/viewvc/camel/trunk/components/camel-aws/src/test/java/org/apache/camel/component/aws/ddb/UpdateItemCommandTest.java?rev=1240737&view=auto
==============================================================================
---
camel/trunk/components/camel-aws/src/test/java/org/apache/camel/component/aws/ddb/UpdateItemCommandTest.java
(added)
+++
camel/trunk/components/camel-aws/src/test/java/org/apache/camel/component/aws/ddb/UpdateItemCommandTest.java
Sun Feb 5 14:04:10 2012
@@ -0,0 +1,80 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.aws.ddb;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import com.amazonaws.services.dynamodb.model.AttributeAction;
+import com.amazonaws.services.dynamodb.model.AttributeValue;
+import com.amazonaws.services.dynamodb.model.AttributeValueUpdate;
+import com.amazonaws.services.dynamodb.model.ExpectedAttributeValue;
+import com.amazonaws.services.dynamodb.model.Key;
+
+import org.apache.camel.Exchange;
+import org.apache.camel.impl.DefaultCamelContext;
+import org.apache.camel.impl.DefaultExchange;
+import org.junit.Before;
+import org.junit.Test;
+
+import static org.junit.Assert.assertEquals;
+
+public class UpdateItemCommandTest {
+
+ private UpdateItemCommand command;
+ private AmazonDDBClientMock ddbClient;
+ private DdbConfiguration configuration;
+ private Exchange exchange;
+
+ @Before
+ public void setUp() {
+ ddbClient = new AmazonDDBClientMock();
+ configuration = new DdbConfiguration();
+ configuration.setTableName("DOMAIN1");
+ exchange = new DefaultExchange(new DefaultCamelContext());
+ command = new UpdateItemCommand(ddbClient, configuration, exchange);
+ }
+
+ @Test
+ public void execute() {
+ Key key = new Key(new AttributeValue("Key_1"));
+ exchange.getIn().setHeader(DdbConstants.KEY, key);
+
+ Map<String, AttributeValueUpdate> attributeMap = new HashMap<String,
AttributeValueUpdate>();
+ AttributeValueUpdate attributeValue = new AttributeValueUpdate(
+ new AttributeValue("new value"), AttributeAction.ADD);
+ attributeMap.put("name", attributeValue);
+ exchange.getIn().setHeader(DdbConstants.UPDATE_VALUES, attributeMap);
+
+ Map<String, ExpectedAttributeValue> expectedAttributeValueMap = new
HashMap<String, ExpectedAttributeValue>();
+ expectedAttributeValueMap
+ .put("name", new ExpectedAttributeValue(new
AttributeValue("expected value")));
+ exchange.getIn().setHeader(DdbConstants.UPDATE_CONDITION,
expectedAttributeValueMap);
+ exchange.getIn().setHeader(DdbConstants.RETURN_VALUES, "ALL_OLD");
+
+ command.execute();
+
+ assertEquals("DOMAIN1", ddbClient.updateItemRequest.getTableName());
+ assertEquals(attributeMap,
ddbClient.updateItemRequest.getAttributeUpdates());
+ assertEquals(key, ddbClient.updateItemRequest.getKey());
+ assertEquals(expectedAttributeValueMap,
ddbClient.updateItemRequest.getExpected());
+ assertEquals("ALL_OLD", ddbClient.updateItemRequest.getReturnValues());
+ assertEquals(new AttributeValue("attrValue"),
+ exchange.getIn().getHeader(DdbConstants.ATTRIBUTES,
Map.class).get(
+ "attrName"));
+ }
+}
Propchange:
camel/trunk/components/camel-aws/src/test/java/org/apache/camel/component/aws/ddb/UpdateItemCommandTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange:
camel/trunk/components/camel-aws/src/test/java/org/apache/camel/component/aws/ddb/UpdateItemCommandTest.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Added:
camel/trunk/components/camel-aws/src/test/java/org/apache/camel/component/aws/ddb/UpdateTableCommandTest.java
URL:
http://svn.apache.org/viewvc/camel/trunk/components/camel-aws/src/test/java/org/apache/camel/component/aws/ddb/UpdateTableCommandTest.java?rev=1240737&view=auto
==============================================================================
---
camel/trunk/components/camel-aws/src/test/java/org/apache/camel/component/aws/ddb/UpdateTableCommandTest.java
(added)
+++
camel/trunk/components/camel-aws/src/test/java/org/apache/camel/component/aws/ddb/UpdateTableCommandTest.java
Sun Feb 5 14:04:10 2012
@@ -0,0 +1,55 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.aws.ddb;
+
+import org.apache.camel.Exchange;
+import org.apache.camel.component.aws.sdb.AmazonSDBClientMock;
+import org.apache.camel.impl.DefaultCamelContext;
+import org.apache.camel.impl.DefaultExchange;
+import org.junit.Before;
+import org.junit.Test;
+
+import static org.junit.Assert.assertEquals;
+
+public class UpdateTableCommandTest {
+
+ private UpdateTableCommand command;
+ private AmazonDDBClientMock ddbClient;
+ private DdbConfiguration configuration;
+ private Exchange exchange;
+
+ @Before
+ public void setUp() {
+ ddbClient = new AmazonDDBClientMock();
+ configuration = new DdbConfiguration();
+ configuration.setTableName("DOMAIN1");
+ configuration.setReadCapacity(20L);
+ configuration.setWriteCapacity(30L);
+ exchange = new DefaultExchange(new DefaultCamelContext());
+
+ command = new UpdateTableCommand(ddbClient, configuration, exchange);
+ }
+
+ @Test
+ public void testExecute() {
+ command.execute();
+
+ assertEquals("DOMAIN1", ddbClient.updateTableRequest.getTableName());
+ assertEquals(Long.valueOf(20),
ddbClient.updateTableRequest.getProvisionedThroughput().getReadCapacityUnits());
+ assertEquals(Long.valueOf(30),
ddbClient.updateTableRequest.getProvisionedThroughput().getWriteCapacityUnits());
+ }
+}
\ No newline at end of file
Propchange:
camel/trunk/components/camel-aws/src/test/java/org/apache/camel/component/aws/ddb/UpdateTableCommandTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange:
camel/trunk/components/camel-aws/src/test/java/org/apache/camel/component/aws/ddb/UpdateTableCommandTest.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Added:
camel/trunk/components/camel-aws/src/test/java/org/apache/camel/component/aws/ddb/integration/DdbComponentIntegrationTest.java
URL:
http://svn.apache.org/viewvc/camel/trunk/components/camel-aws/src/test/java/org/apache/camel/component/aws/ddb/integration/DdbComponentIntegrationTest.java?rev=1240737&view=auto
==============================================================================
---
camel/trunk/components/camel-aws/src/test/java/org/apache/camel/component/aws/ddb/integration/DdbComponentIntegrationTest.java
(added)
+++
camel/trunk/components/camel-aws/src/test/java/org/apache/camel/component/aws/ddb/integration/DdbComponentIntegrationTest.java
Sun Feb 5 14:04:10 2012
@@ -0,0 +1,68 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.aws.ddb.integration;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import com.amazonaws.services.dynamodb.model.AttributeValue;
+
+import org.apache.camel.EndpointInject;
+import org.apache.camel.Exchange;
+import org.apache.camel.Processor;
+import org.apache.camel.ProducerTemplate;
+import org.apache.camel.builder.RouteBuilder;
+import org.apache.camel.component.aws.ddb.DdbConstants;
+import org.apache.camel.component.aws.ddb.DdbOperations;
+import org.apache.camel.test.junit4.CamelTestSupport;
+import org.junit.Ignore;
+import org.junit.Test;
+
+@Ignore("Must be manually tested. Provide your own accessKey and secretKey!")
+public class DdbComponentIntegrationTest extends CamelTestSupport {
+
+ @EndpointInject(uri = "direct:start")
+ private ProducerTemplate template;
+
+ @Test
+ public void select() {
+ final Map<String, AttributeValue> attributeMap = new HashMap<String,
AttributeValue>();
+ AttributeValue attributeValue = new AttributeValue("test value");
+ attributeMap.put("name", attributeValue);
+
+ Exchange exchange = template.send("direct:start", new Processor() {
+ public void process(Exchange exchange) throws Exception {
+ exchange.getIn().setHeader(DdbConstants.OPERATION,
DdbOperations.PutItem);
+ exchange.getIn().setHeader(DdbConstants.RETURN_VALUES,
"ALL_OLD");
+ exchange.getIn().setHeader(DdbConstants.ITEM, attributeMap);
+ }
+ });
+
+ assertNotNull(exchange.getIn().getHeader(DdbConstants.ITEMS,
List.class));
+ }
+
+ protected RouteBuilder createRouteBuilder() throws Exception {
+ return new RouteBuilder() {
+ @Override
+ public void configure() throws Exception {
+ from("direct:start")
+ .to("aws-ddb://TestTable?accessKey=xxx&secretKey=yyy");
+ }
+ };
+ }
+}
Propchange:
camel/trunk/components/camel-aws/src/test/java/org/apache/camel/component/aws/ddb/integration/DdbComponentIntegrationTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange:
camel/trunk/components/camel-aws/src/test/java/org/apache/camel/component/aws/ddb/integration/DdbComponentIntegrationTest.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Modified: camel/trunk/platforms/karaf/features/pom.xml
URL:
http://svn.apache.org/viewvc/camel/trunk/platforms/karaf/features/pom.xml?rev=1240737&r1=1240736&r2=1240737&view=diff
==============================================================================
--- camel/trunk/platforms/karaf/features/pom.xml (original)
+++ camel/trunk/platforms/karaf/features/pom.xml Sun Feb 5 14:04:10 2012
@@ -38,7 +38,7 @@
<antlr-bundle-version>2.7.7_2</antlr-bundle-version>
<aopalliance-bundle-version>1.0_5</aopalliance-bundle-version>
<asm2-bundle-version>2.2.3_4</asm2-bundle-version>
- <aws-java-sdk-bundle-version>1.2.12_1</aws-java-sdk-bundle-version>
+ <aws-java-sdk-bundle-version>1.3.0_1</aws-java-sdk-bundle-version>
<bcel-bundle-version>5.2_4</bcel-bundle-version>
<bcpg-jdk16-bundle-version>1.46_1</bcpg-jdk16-bundle-version>
<cglib-version>2.1_3_6</cglib-version>