/** * Tests that the mux ignores known wavelets that don't match the * wavelet filter, hence will never receive updates from the server. */ public void testOpenWithKnownWaveletsIgnoresFilteredWavelets() { long knownVersion = 40; byte[] knownSig = SIG1; IdFilter onlyWavelet1 = IdFilter.ofPrefixes("w+1"); ObservableWaveletData knownSnapshot1 = createSnapshot(WAVELET_ID_1, knownVersion, knownSig); ObservableWaveletData knownSnapshot2 = createSnapshot(WAVELET_ID_2, 0, NOSIG); MockViewChannel view = viewFactory.expectCreate(); Map<WaveletId, List<HashedVersion>> expectedSigs = createKnownVersions(WAVELET_ID_1, knownVersion, knownSig); view.expectOpen(onlyWavelet1, expectedSigs); mux.open(muxListener, onlyWavelet1, Arrays.asList( createKnownWavelet(knownSnapshot1, knownVersion, knownSig, Accessibility.READ_WRITE), createKnownWavelet(knownSnapshot2, 0, NOSIG, Accessibility.READ_WRITE))); view.checkExpectationsSatisified(); }
/** * Tests that the mux ignores known wavelets that don't match the * wavelet filter, hence will never receive updates from the server. */ public void testOpenWithKnownWaveletsIgnoresFilteredWavelets() { long knownVersion = 40; byte[] knownSig = SIG1; IdFilter onlyWavelet1 = IdFilter.ofPrefixes("w+1"); ObservableWaveletData knownSnapshot1 = createSnapshot(WAVELET_ID_1, knownVersion, knownSig); ObservableWaveletData knownSnapshot2 = createSnapshot(WAVELET_ID_2, 0, NOSIG); MockViewChannel view = viewFactory.expectCreate(); Map<WaveletId, List<HashedVersion>> expectedSigs = createKnownVersions(WAVELET_ID_1, knownVersion, knownSig); view.expectOpen(onlyWavelet1, expectedSigs); mux.open(muxListener, onlyWavelet1, Arrays.asList( createKnownWavelet(knownSnapshot1, knownVersion, knownSig, Accessibility.READ_WRITE), createKnownWavelet(knownSnapshot2, 0, NOSIG, Accessibility.READ_WRITE))); view.checkExpectationsSatisified(); }
/** * Opens a new mux with a known wavelet and returns the created view mock. */ private MockViewChannel openMuxWithKnownWavelet(ObservableWaveletData knownSnapshot) { long version = knownSnapshot.getVersion(); byte[] signature = knownSnapshot.getHashedVersion().getHistoryHash(); MockViewChannel view = viewFactory.expectCreate(); Map<WaveletId, List<HashedVersion>> expectedSigs = createKnownVersions(WAVELET_ID_1, version, signature); view.expectOpen(IdFilters.ALL_IDS, expectedSigs); mux.open(muxListener, IdFilters.ALL_IDS, Collections.singletonList(createKnownWavelet( knownSnapshot, version, signature, Accessibility.READ_WRITE))); return view; }
/** * Opens a new mux with a known wavelet and returns the created view mock. */ private MockViewChannel openMuxWithKnownWavelet(ObservableWaveletData knownSnapshot) { long version = knownSnapshot.getVersion(); byte[] signature = knownSnapshot.getHashedVersion().getHistoryHash(); MockViewChannel view = viewFactory.expectCreate(); Map<WaveletId, List<HashedVersion>> expectedSigs = createKnownVersions(WAVELET_ID_1, version, signature); view.expectOpen(IdFilters.ALL_IDS, expectedSigs); mux.open(muxListener, IdFilters.ALL_IDS, Collections.singletonList(createKnownWavelet( knownSnapshot, version, signature, Accessibility.READ_WRITE))); return view; }
chInfo2.initialSignature); Collection<KnownWavelet> knownWavelets = Arrays.asList( createKnownWavelet(chInfo1.snapshot, chInfo1.initialVersion, chInfo1.initialSignature, Accessibility.READ_WRITE), createKnownWavelet(chInfo2.snapshot, chInfo2.initialVersion, chInfo2.initialSignature, Accessibility.READ_WRITE));
chInfo2.initialSignature); Collection<KnownWavelet> knownWavelets = Arrays.asList( createKnownWavelet(chInfo1.snapshot, chInfo1.initialVersion, chInfo1.initialSignature, Accessibility.READ_WRITE), createKnownWavelet(chInfo2.snapshot, chInfo2.initialVersion, chInfo2.initialSignature, Accessibility.READ_WRITE));
chInfo1.initialVersion, chInfo1.initialSignature); Collection<KnownWavelet> knownWavelets = Arrays.asList( createKnownWavelet(chInfo1.snapshot, chInfo1.initialVersion, chInfo1.initialSignature, Accessibility.READ_WRITE), createKnownWavelet(chInfo2.snapshot, chInfo2.initialVersion, chInfo2.initialSignature, Accessibility.INACCESSIBLE));
chInfo1.initialVersion, chInfo1.initialSignature); Collection<KnownWavelet> knownWavelets = Arrays.asList( createKnownWavelet(chInfo1.snapshot, chInfo1.initialVersion, chInfo1.initialSignature, Accessibility.READ_WRITE), createKnownWavelet(chInfo2.snapshot, chInfo2.initialVersion, chInfo2.initialSignature, Accessibility.INACCESSIBLE));