diff options
Diffstat (limited to 'framework/src/onos/core/store/dist/src/test/java/org/onosproject/store/consistent')
4 files changed, 0 insertions, 592 deletions
diff --git a/framework/src/onos/core/store/dist/src/test/java/org/onosproject/store/consistent/impl/DefaultAsyncConsistentMapTest.java b/framework/src/onos/core/store/dist/src/test/java/org/onosproject/store/consistent/impl/DefaultAsyncConsistentMapTest.java deleted file mode 100644 index 3f6402c5..00000000 --- a/framework/src/onos/core/store/dist/src/test/java/org/onosproject/store/consistent/impl/DefaultAsyncConsistentMapTest.java +++ /dev/null @@ -1,369 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed 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.onosproject.store.consistent.impl; - -import static java.util.Collections.unmodifiableCollection; -import static java.util.Collections.unmodifiableSet; -import static org.hamcrest.Matchers.is; -import static org.junit.Assert.*; - -import java.util.Collection; -import java.util.Map; -import java.util.Map.Entry; -import java.util.Objects; -import java.util.Set; -import java.util.concurrent.CompletableFuture; -import java.util.concurrent.ConcurrentHashMap; -import java.util.function.Consumer; - -import org.junit.After; -import org.junit.Before; -import org.junit.Test; -import org.onosproject.core.ApplicationId; -import org.onosproject.core.DefaultApplicationId; -import org.onosproject.store.service.Serializer; -import org.onosproject.store.service.Transaction; -import org.onosproject.store.service.Versioned; - -import com.google.common.base.MoreObjects; -import com.google.common.collect.ImmutableMap; -import com.google.common.collect.ImmutableSet; -import net.kuujo.copycat.Task; -import net.kuujo.copycat.cluster.Cluster; -import net.kuujo.copycat.resource.ResourceState; - -/** - * - */ -public class DefaultAsyncConsistentMapTest { - - private static final ApplicationId APP_ID = new DefaultApplicationId(42, "what"); - - private static final TestData KEY1A = new TestData("One", "a"); - private static final TestData KEY1B = new TestData("One", "b"); - - private static final TestData VALUE2A = new TestData("Two", "a"); - private static final TestData VALUE2B = new TestData("Two", "b"); - - @Before - public void setUp() throws Exception { - } - - @After - public void tearDown() throws Exception { - } - - @Test - public void testKeySet() throws Exception { - DefaultAsyncConsistentMap<TestData, TestData> map; - String name = "map_name"; - Database database = new TestDatabase(); - Serializer serializer = Serializer.forTypes(TestData.class); - - map = new DefaultAsyncConsistentMap<>(name, APP_ID, database, serializer, - false, false, false); - map.put(KEY1A, VALUE2A); - map.put(KEY1B, VALUE2A); - - Set<TestData> set = map.keySet().get(); - assertEquals("Should contain 2 keys", - 2, set.size()); - assertThat(set.contains(KEY1A), is(true)); - assertThat(set.contains(KEY1B), is(true)); - assertThat(set.contains(new TestData("One", "a")), is(true)); - } - - @Test - public void testEntrySet() throws Exception { - DefaultAsyncConsistentMap<TestData, TestData> map; - String name = "map_name"; - Database database = new TestDatabase(); - Serializer serializer = Serializer.forTypes(TestData.class); - - map = new DefaultAsyncConsistentMap<>(name, APP_ID, database, serializer, - false, false, false); - map.put(KEY1A, VALUE2A); - map.put(KEY1B, VALUE2A); - - assertEquals("Should contain 2 entry", - 2, - map.entrySet().get().size()); - } - - /** - * Object to be used as a test data. - * - * {@link Object#equals(Object)} use only part of it's fields. - * - * As a result there can be 2 instances which the - * serialized bytes are not-equal but - * {@link Object#equals(Object)}-wise they are equal. - */ - public static class TestData { - - private final String theKey; - - @SuppressWarnings("unused") - private final String notUsedForEquals; - - public TestData(String theKey, String notUsedForEquals) { - this.theKey = theKey; - this.notUsedForEquals = notUsedForEquals; - } - - @Override - public int hashCode() { - return Objects.hashCode(theKey); - } - - @Override - public boolean equals(Object obj) { - if (obj instanceof TestData) { - TestData that = (TestData) obj; - return Objects.equals(this.theKey, that.theKey); - } - return false; - } - - @Override - public String toString() { - return MoreObjects.toStringHelper(this) - .add("theKey", theKey) - .add("notUsedForEquals", notUsedForEquals) - .toString(); - } - } - - /** - * {@link Database} implementation for testing. - * - * There is only 1 backing Map, {@code mapName} will be ignored. - */ - public class TestDatabase implements Database { - - Map<String, Versioned<byte[]>> map = new ConcurrentHashMap<>(); - - @Override - public CompletableFuture<Set<String>> maps() { - return CompletableFuture.completedFuture(ImmutableSet.of()); - } - - @Override - public CompletableFuture<Map<String, Long>> counters() { - return CompletableFuture.completedFuture(ImmutableMap.of()); - } - - @Override - public CompletableFuture<Integer> mapSize(String mapName) { - return CompletableFuture.completedFuture(map.size()); - } - - @Override - public CompletableFuture<Boolean> mapIsEmpty(String mapName) { - return CompletableFuture.completedFuture(map.isEmpty()); - } - - @Override - public CompletableFuture<Boolean> mapContainsKey(String mapName, - String key) { - return CompletableFuture.completedFuture(map.containsKey(key)); - } - - @Override - public CompletableFuture<Boolean> mapContainsValue(String mapName, - byte[] value) { - return CompletableFuture.completedFuture(map.containsValue(value)); - } - - @Override - public CompletableFuture<Versioned<byte[]>> mapGet(String mapName, - String key) { - return CompletableFuture.completedFuture(map.get(key)); - } - - @Override - public synchronized CompletableFuture<Result<UpdateResult<String, byte[]>>> mapUpdate(String mapName, - String key, - Match<byte[]> valueMatch, - Match<Long> versionMatch, - byte[] value) { - - boolean updated = false; - final Versioned<byte[]> oldValue; - final Versioned<byte[]> newValue; - - Versioned<byte[]> old = map.getOrDefault(key, new Versioned<byte[]>(null, 0)); - if (valueMatch.matches(old.value()) && versionMatch.matches(old.version())) { - updated = true; - oldValue = old; - newValue = new Versioned<>(value, old.version() + 1); - map.put(key, newValue); - } else { - updated = false; - oldValue = old; - newValue = old; - } - return CompletableFuture.completedFuture( - Result.ok(new UpdateResult<String, byte[]>(updated, - mapName, key, oldValue, newValue))); - } - - @Override - public CompletableFuture<Result<Void>> mapClear(String mapName) { - throw new UnsupportedOperationException(); - } - - @Override - public CompletableFuture<Set<String>> mapKeySet(String mapName) { - return CompletableFuture.completedFuture(unmodifiableSet(map.keySet())); - } - - @Override - public CompletableFuture<Collection<Versioned<byte[]>>> mapValues(String mapName) { - return CompletableFuture.completedFuture(unmodifiableCollection(map.values())); - } - - @Override - public CompletableFuture<Set<Entry<String, Versioned<byte[]>>>> mapEntrySet(String mapName) { - return CompletableFuture.completedFuture(unmodifiableSet(map.entrySet())); - } - - @Override - public CompletableFuture<Long> counterAddAndGet(String counterName, - long delta) { - throw new UnsupportedOperationException(); - } - - @Override - public CompletableFuture<Long> counterGetAndAdd(String counterName, - long delta) { - throw new UnsupportedOperationException(); - } - - @Override - public CompletableFuture<Void> counterSet(String counterName, - long value) { - throw new UnsupportedOperationException(); - } - - @Override - public CompletableFuture<Boolean> counterCompareAndSet(String counterName, - long expectedValue, - long update) { - throw new UnsupportedOperationException(); - } - - @Override - public CompletableFuture<Long> counterGet(String counterName) { - throw new UnsupportedOperationException(); - } - - @Override - public CompletableFuture<Long> queueSize(String queueName) { - throw new UnsupportedOperationException(); - } - - @Override - public CompletableFuture<Void> queuePush(String queueName, - byte[] entry) { - throw new UnsupportedOperationException(); - } - - @Override - public CompletableFuture<byte[]> queuePop(String queueName) { - throw new UnsupportedOperationException(); - } - - @Override - public CompletableFuture<byte[]> queuePeek(String queueName) { - throw new UnsupportedOperationException(); - } - - @Override - public CompletableFuture<CommitResponse> prepareAndCommit(Transaction transaction) { - throw new UnsupportedOperationException(); - } - - @Override - public CompletableFuture<Boolean> prepare(Transaction transaction) { - throw new UnsupportedOperationException(); - } - - @Override - public CompletableFuture<CommitResponse> commit(Transaction transaction) { - throw new UnsupportedOperationException(); - } - - @Override - public CompletableFuture<Boolean> rollback(Transaction transaction) { - throw new UnsupportedOperationException(); - } - - @Override - public String name() { - return "name"; - } - - @Override - public ResourceState state() { - return ResourceState.HEALTHY; - } - - @Override - public Cluster cluster() { - throw new UnsupportedOperationException(); - } - - @Override - public Database addStartupTask(Task<CompletableFuture<Void>> task) { - throw new UnsupportedOperationException(); - } - - @Override - public Database addShutdownTask(Task<CompletableFuture<Void>> task) { - throw new UnsupportedOperationException(); - } - - @Override - public CompletableFuture<Database> open() { - return CompletableFuture.completedFuture(this); - } - - @Override - public boolean isOpen() { - return true; - } - - @Override - public CompletableFuture<Void> close() { - return CompletableFuture.completedFuture(null); - } - - @Override - public boolean isClosed() { - return false; - } - - @Override - public void registerConsumer(Consumer<StateMachineUpdate> consumer) { - } - - @Override - public void unregisterConsumer(Consumer<StateMachineUpdate> consumer) { - } - } - -} diff --git a/framework/src/onos/core/store/dist/src/test/java/org/onosproject/store/consistent/impl/MatchTest.java b/framework/src/onos/core/store/dist/src/test/java/org/onosproject/store/consistent/impl/MatchTest.java deleted file mode 100644 index 952393aa..00000000 --- a/framework/src/onos/core/store/dist/src/test/java/org/onosproject/store/consistent/impl/MatchTest.java +++ /dev/null @@ -1,67 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed 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.onosproject.store.consistent.impl; - -import static junit.framework.TestCase.assertEquals; -import static junit.framework.TestCase.assertFalse; -import static junit.framework.TestCase.assertTrue; - -import org.junit.Test; - -import com.google.common.base.Objects; - -/** - * Unit tests for Match. - */ -public class MatchTest { - - @Test - public void testMatches() { - Match<String> m1 = Match.any(); - assertTrue(m1.matches(null)); - assertTrue(m1.matches("foo")); - assertTrue(m1.matches("bar")); - - Match<String> m2 = Match.ifNull(); - assertTrue(m2.matches(null)); - assertFalse(m2.matches("foo")); - - Match<String> m3 = Match.ifValue("foo"); - assertFalse(m3.matches(null)); - assertFalse(m3.matches("bar")); - assertTrue(m3.matches("foo")); - } - - @Test - public void testEquals() { - Match<String> m1 = Match.any(); - Match<String> m2 = Match.any(); - Match<String> m3 = Match.ifNull(); - Match<String> m4 = Match.ifValue("bar"); - assertEquals(m1, m2); - assertFalse(Objects.equal(m1, m3)); - assertFalse(Objects.equal(m3, m4)); - } - - @Test - public void testMap() { - Match<String> m1 = Match.ifNull(); - assertEquals(m1.map(s -> "bar"), Match.ifNull()); - Match<String> m2 = Match.ifValue("foo"); - Match<String> m3 = m2.map(s -> "bar"); - assertTrue(m3.matches("bar")); - } -} diff --git a/framework/src/onos/core/store/dist/src/test/java/org/onosproject/store/consistent/impl/ResultTest.java b/framework/src/onos/core/store/dist/src/test/java/org/onosproject/store/consistent/impl/ResultTest.java deleted file mode 100644 index 2d329d14..00000000 --- a/framework/src/onos/core/store/dist/src/test/java/org/onosproject/store/consistent/impl/ResultTest.java +++ /dev/null @@ -1,57 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed 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.onosproject.store.consistent.impl; - -import static junit.framework.TestCase.assertEquals; -import static junit.framework.TestCase.assertFalse; -import static junit.framework.TestCase.assertNull; -import static junit.framework.TestCase.assertTrue; - -import org.junit.Test; - -/** - * Unit tests for Result. - */ -public class ResultTest { - - @Test - public void testLocked() { - Result<String> r = Result.locked(); - assertFalse(r.success()); - assertNull(r.value()); - assertEquals(Result.Status.LOCKED, r.status()); - } - - @Test - public void testOk() { - Result<String> r = Result.ok("foo"); - assertTrue(r.success()); - assertEquals("foo", r.value()); - assertEquals(Result.Status.OK, r.status()); - } - - @Test - public void testEquality() { - Result<String> r1 = Result.ok("foo"); - Result<String> r2 = Result.locked(); - Result<String> r3 = Result.ok("bar"); - Result<String> r4 = Result.ok("foo"); - assertTrue(r1.equals(r4)); - assertFalse(r1.equals(r2)); - assertFalse(r1.equals(r3)); - assertFalse(r2.equals(r3)); - } -} diff --git a/framework/src/onos/core/store/dist/src/test/java/org/onosproject/store/consistent/impl/UpdateResultTest.java b/framework/src/onos/core/store/dist/src/test/java/org/onosproject/store/consistent/impl/UpdateResultTest.java deleted file mode 100644 index ab53710b..00000000 --- a/framework/src/onos/core/store/dist/src/test/java/org/onosproject/store/consistent/impl/UpdateResultTest.java +++ /dev/null @@ -1,99 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed 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.onosproject.store.consistent.impl; - -import static junit.framework.TestCase.assertEquals; -import static junit.framework.TestCase.assertNull; -import static junit.framework.TestCase.assertTrue; - -import org.junit.Test; -import org.onosproject.store.service.MapEvent; -import org.onosproject.store.service.Versioned; - -/** - * Unit tests for UpdateResult. - */ -public class UpdateResultTest { - - @Test - public void testGetters() { - Versioned<String> oldValue = new Versioned<>("a", 1); - Versioned<String> newValue = new Versioned<>("b", 2); - UpdateResult<String, String> ur = - new UpdateResult<>(true, "foo", "k", oldValue, newValue); - - assertTrue(ur.updated()); - assertEquals("foo", ur.mapName()); - assertEquals("k", ur.key()); - assertEquals(oldValue, ur.oldValue()); - assertEquals(newValue, ur.newValue()); - } - - @Test - public void testToMapEvent() { - Versioned<String> oldValue = new Versioned<>("a", 1); - Versioned<String> newValue = new Versioned<>("b", 2); - UpdateResult<String, String> ur1 = - new UpdateResult<>(true, "foo", "k", oldValue, newValue); - MapEvent<String, String> event1 = ur1.toMapEvent(); - assertEquals(MapEvent.Type.UPDATE, event1.type()); - assertEquals("k", event1.key()); - assertEquals(newValue, event1.value()); - - UpdateResult<String, String> ur2 = - new UpdateResult<>(true, "foo", "k", null, newValue); - MapEvent<String, String> event2 = ur2.toMapEvent(); - assertEquals(MapEvent.Type.INSERT, event2.type()); - assertEquals("k", event2.key()); - assertEquals(newValue, event2.value()); - - UpdateResult<String, String> ur3 = - new UpdateResult<>(true, "foo", "k", oldValue, null); - MapEvent<String, String> event3 = ur3.toMapEvent(); - assertEquals(MapEvent.Type.REMOVE, event3.type()); - assertEquals("k", event3.key()); - assertEquals(oldValue, event3.value()); - - UpdateResult<String, String> ur4 = - new UpdateResult<>(false, "foo", "k", oldValue, oldValue); - assertNull(ur4.toMapEvent()); - } - - @Test - public void testMap() { - Versioned<String> oldValue = new Versioned<>("a", 1); - Versioned<String> newValue = new Versioned<>("b", 2); - UpdateResult<String, String> ur1 = - new UpdateResult<>(true, "foo", "k", oldValue, newValue); - UpdateResult<Integer, Integer> ur2 = ur1.map(s -> s.length(), s -> s.length()); - - assertEquals(ur2.updated(), ur1.updated()); - assertEquals(ur1.mapName(), ur2.mapName()); - assertEquals(new Integer(1), ur2.key()); - assertEquals(oldValue.map(s -> s.length()), ur2.oldValue()); - assertEquals(newValue.map(s -> s.length()), ur2.newValue()); - - UpdateResult<String, String> ur3 = - new UpdateResult<>(true, "foo", "k", null, newValue); - UpdateResult<Integer, Integer> ur4 = ur3.map(s -> s.length(), s -> s.length()); - - assertEquals(ur3.updated(), ur4.updated()); - assertEquals(ur3.mapName(), ur4.mapName()); - assertEquals(new Integer(1), ur4.key()); - assertNull(ur4.oldValue()); - assertEquals(newValue.map(s -> s.length()), ur4.newValue()); - } -} |