ibessonov commented on a change in pull request #323:
URL: https://github.com/apache/ignite-3/pull/323#discussion_r704135118



##########
File path: 
modules/metastorage-client/src/integrationTest/java/org/apache/ignite/internal/metastorage/client/ITMetaStorageServiceTest.java
##########
@@ -791,112 +606,88 @@ public void testRangeClose() throws Exception {
 
     @Test
     public void testWatchOnUpdate() throws Exception {
-        org.apache.ignite.internal.metastorage.server.WatchEvent 
returnedWatchEvents = new 
org.apache.ignite.internal.metastorage.server.WatchEvent(List.of(
+        org.apache.ignite.internal.metastorage.server.WatchEvent expectedEvent 
=
+            new 
org.apache.ignite.internal.metastorage.server.WatchEvent(List.of(
                 new org.apache.ignite.internal.metastorage.server.EntryEvent(
-                        new 
org.apache.ignite.internal.metastorage.server.Entry(
-                                new byte[]{2},
-                                new byte[]{20},
-                                1,
-                                1
-                        ),
-                        new 
org.apache.ignite.internal.metastorage.server.Entry(
-                                new byte[]{2},
-                                new byte[]{21},
-                                2,
-                                4
-                        )
+                    new org.apache.ignite.internal.metastorage.server.Entry(
+                        new byte[] {2},
+                        new byte[] {20},
+                        1,
+                        1
+                    ),
+                    new org.apache.ignite.internal.metastorage.server.Entry(
+                        new byte[] {2},
+                        new byte[] {21},
+                        2,
+                        4
+                    )
                 ),
                 new org.apache.ignite.internal.metastorage.server.EntryEvent(
-                        new 
org.apache.ignite.internal.metastorage.server.Entry(
-                                new byte[] {3},
-                                new byte[] {20},
-                                1,
-                                2
-                        ),
-                        new 
org.apache.ignite.internal.metastorage.server.Entry(
-                                new byte[] {3},
-                                new byte[]{},
-                                2,
-                                5
-                        )
+                    new org.apache.ignite.internal.metastorage.server.Entry(
+                        new byte[] {3},
+                        new byte[] {20},
+                        1,
+                        2
+                    ),
+                    new org.apache.ignite.internal.metastorage.server.Entry(
+                        new byte[] {3},
+                        new byte[] {},
+                        2,
+                        5
+                    )
                 ),
                 new org.apache.ignite.internal.metastorage.server.EntryEvent(
-                        new 
org.apache.ignite.internal.metastorage.server.Entry(
-                                new byte[] {4},
-                                new byte[] {20},
-                                1,
-                                3
-                        ),
-                        new 
org.apache.ignite.internal.metastorage.server.Entry(
-                                new byte[] {4},
-                                new byte[] {},
-                                3,
-                                6
-                        )
+                    new org.apache.ignite.internal.metastorage.server.Entry(
+                        new byte[] {4},
+                        new byte[] {20},
+                        1,
+                        3
+                    ),
+                    new org.apache.ignite.internal.metastorage.server.Entry(
+                        new byte[] {4},
+                        new byte[] {},
+                        3,
+                        6
+                    )
                 )
-        ));
+            ));
 
-        ByteArray keyFrom = new ByteArray(new byte[]{1});
+        ByteArray keyFrom = new ByteArray(new byte[] {1});
 
-        ByteArray keyTo = new ByteArray(new byte[]{10});
+        ByteArray keyTo = new ByteArray(new byte[] {10});
 
         long rev = 2;
 
-        MetaStorageService metaStorageSvc = prepareMetaStorage(
-                new AbstractKeyValueStorage() {
-                    @Override public 
Cursor<org.apache.ignite.internal.metastorage.server.WatchEvent> watch(byte[] 
keyFrom, byte @Nullable [] keyTo, long rev) {
-                        return new Cursor<>() {
-                            private final 
Iterator<org.apache.ignite.internal.metastorage.server.WatchEvent> it = new 
Iterator<>() {
-                                @Override public boolean hasNext() {
-
-                                    return retirevedItemCnt.get() < 
returnedWatchEvents.entryEvents().size();
-                                }
-
-                                @Override public 
org.apache.ignite.internal.metastorage.server.WatchEvent next() {
-                                    return returnedWatchEvents;
-                                }
-                            };
-
-                            AtomicInteger retirevedItemCnt = new 
AtomicInteger(0);
-
-                            @Override public void close() throws Exception {
-                                // No-op.
-                            }
+        when(mockStorage.watch(keyFrom.bytes(), keyTo.bytes(), 
rev)).thenAnswer(invocation -> {
+            var cursor = mock(Cursor.class);
 
-                            @NotNull @Override public 
Iterator<org.apache.ignite.internal.metastorage.server.WatchEvent> iterator() {
-                                return it;
-                            }
+            when(cursor.hasNext()).thenReturn(true);
+            when(cursor.next()).thenReturn(expectedEvent);
 
-                            @Override public boolean hasNext() {
-                                return it.hasNext();
-                            }
-
-                            @Override
-                            public 
org.apache.ignite.internal.metastorage.server.WatchEvent next() {
-                                return it.next();
-                            }
-                        };
-                    }
-                });
+            return cursor;
+        });
 
         CountDownLatch latch = new CountDownLatch(1);
 
         IgniteUuid watchId = metaStorageSvc.watch(keyFrom, keyTo, rev, new 
WatchListener() {
-            @Override public boolean onUpdate(@NotNull WatchEvent events) {
-                List gotEvents = new ArrayList();
-
-                List returnedWatchEvents = new ArrayList(events.entryEvents());
-
-                Iterator<EntryEvent> iter = events.entryEvents().iterator();
+            @Override public boolean onUpdate(@NotNull WatchEvent event) {
+                Collection<EntryEvent> expectedEvents = 
expectedEvent.entryEvents();
+                
Collection<org.apache.ignite.internal.metastorage.client.EntryEvent> 
actualEvents = event.entryEvents();
 
-                while (iter.hasNext())
-                    gotEvents.add(iter.next());
+                assertEquals(expectedEvents.size(), actualEvents.size());
 
-                assertEquals(3, gotEvents.size());
+                Iterator<EntryEvent> expectedIterator = 
expectedEvents.iterator();
+                
Iterator<org.apache.ignite.internal.metastorage.client.EntryEvent> 
actualIterator = actualEvents.iterator();
 
-                assertTrue(gotEvents.contains(returnedWatchEvents.get(0)));
+                while (expectedIterator.hasNext() && actualIterator.hasNext()) 
{
+                    org.apache.ignite.internal.metastorage.server.EntryEvent 
expectedEntryEvent = expectedIterator.next();

Review comment:
       What's up with all these full names? Are there collisions somewhere? I 
don't get it




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to