@Override protected void setUp() throws Exception { waveletProvider = mock(WaveletProvider.class); operationRegistry = mock(OperationServiceRegistry.class); ConversationUtil conversationUtil = mock(ConversationUtil.class); converter = mock(EventDataConverter.class); operation = new OperationRequest("wavelet.fetch", "op1", s(WAVE_ID), s(WAVELET_ID)); context = new OperationContextImpl(waveletProvider, converter, conversationUtil); }
@Override protected void setUp() throws Exception { waveletProvider = mock(WaveletProvider.class); operationRegistry = mock(OperationServiceRegistry.class); ConversationUtil conversationUtil = mock(ConversationUtil.class); converter = mock(EventDataConverter.class); operation = new OperationRequest("wavelet.fetch", "op1", s(WAVE_ID), s(WAVELET_ID)); context = new OperationContextImpl(waveletProvider, converter, conversationUtil); }
/** * Fetches multiple profiles using Data API. */ private FetchProfilesResult fetchProfilesFromService(ParticipantId user, List<String> addresses) { OperationQueue opQueue = new OperationQueue(); FetchProfilesRequest request = new FetchProfilesRequest(addresses); opQueue.fetchProfiles(request); OperationContextImpl context = new OperationContextImpl(waveletProvider, converterManager.getEventDataConverter(ProtocolVersion.DEFAULT), conversationUtil); OperationRequest operationRequest = opQueue.getPendingOperations().get(0); String opId = operationRequest.getId(); OperationUtil.executeOperation(operationRequest, operationRegistry, context, user); JsonRpcResponse jsonRpcResponse = context.getResponses().get(opId); FetchProfilesResult profileResults = (FetchProfilesResult) jsonRpcResponse.getData().get(ParamsProperty.FETCH_PROFILES_RESULT); return profileResults; }
@Override protected void setUp() throws Exception { converter = mock(EventDataConverter.class); waveletProvider = mock(WaveletProvider.class); conversationUtil = mock(ConversationUtil.class); request = new OperationRequest("wave.setTitle", OPERATION_ID); operationContext = new OperationContextImpl(waveletProvider, converter, conversationUtil); waveletData = WaveletDataUtil.createEmptyWavelet(WAVELET_NAME, PARTICIPANT, HASH_FACTORY.createVersionZero(WAVELET_NAME), 0L); waveletData.addParticipant(PARTICIPANT); HashedVersion hashedVersionZero = HASH_FACTORY.createVersionZero(WAVELET_NAME); wavelet = new RobotWaveletData(waveletData, hashedVersionZero); when(waveletProvider.checkAccessPermission(WAVELET_NAME, PARTICIPANT)).thenReturn(true); CommittedWaveletSnapshot snapshotAndVersion = new CommittedWaveletSnapshot( waveletData, hashedVersionZero); when(waveletProvider.getSnapshot(WAVELET_NAME)).thenReturn(snapshotAndVersion); boundOperationContext = new OperationContextImpl(waveletProvider, converter, conversationUtil, wavelet); }
@Override protected void setUp() throws Exception { converter = mock(EventDataConverter.class); waveletProvider = mock(WaveletProvider.class); conversationUtil = mock(ConversationUtil.class); request = new OperationRequest("wave.setTitle", OPERATION_ID); operationContext = new OperationContextImpl(waveletProvider, converter, conversationUtil); waveletData = WaveletDataUtil.createEmptyWavelet(WAVELET_NAME, PARTICIPANT, HASH_FACTORY.createVersionZero(WAVELET_NAME), 0L); waveletData.addParticipant(PARTICIPANT); HashedVersion hashedVersionZero = HASH_FACTORY.createVersionZero(WAVELET_NAME); wavelet = new RobotWaveletData(waveletData, hashedVersionZero); when(waveletProvider.checkAccessPermission(WAVELET_NAME, PARTICIPANT)).thenReturn(true); CommittedWaveletSnapshot snapshotAndVersion = new CommittedWaveletSnapshot( waveletData, hashedVersionZero); when(waveletProvider.getSnapshot(WAVELET_NAME)).thenReturn(snapshotAndVersion); boundOperationContext = new OperationContextImpl(waveletProvider, converter, conversationUtil, wavelet); }
OperationContextImpl context = new OperationContextImpl( waveletProvider, converterManager.getEventDataConverter(version), conversationUtil);
@Override protected void setUp() { service = CreateWaveletService.create(); waveletProvider = mock(WaveletProvider.class); converter = mock(EventDataConverter.class); waveletData = mock(WaveletData.class); when(waveletData.getWaveId()).thenReturn(TEMP_WAVE_ID); when(waveletData.getWaveletId()).thenReturn(WAVELET_ID); when(waveletData.getRootBlipId()).thenReturn("b+root"); ConversationUtil conversationUtil = new ConversationUtil(FakeIdGenerator.create()); context = new OperationContextImpl(waveletProvider, converter, conversationUtil); operation = new OperationRequest(OperationType.ROBOT_CREATE_WAVELET.method(), OPERATION_ID, Parameter.of(ParamsProperty.WAVELET_DATA, waveletData), Parameter.of(ParamsProperty.MESSAGE, MESSAGE)); }
@Override protected void setUp() { service = CreateWaveletService.create(); waveletProvider = mock(WaveletProvider.class); converter = mock(EventDataConverter.class); waveletData = mock(WaveletData.class); when(waveletData.getWaveId()).thenReturn(TEMP_WAVE_ID); when(waveletData.getWaveletId()).thenReturn(WAVELET_ID); when(waveletData.getRootBlipId()).thenReturn("b+root"); ConversationUtil conversationUtil = new ConversationUtil(FakeIdGenerator.create()); context = new OperationContextImpl(waveletProvider, converter, conversationUtil); operation = new OperationRequest(OperationType.ROBOT_CREATE_WAVELET.method(), OPERATION_ID, Parameter.of(ParamsProperty.WAVELET_DATA, waveletData), Parameter.of(ParamsProperty.MESSAGE, MESSAGE)); }
public void testReturnsEmptyResponse() throws Exception { // Type of operation doesn't matter in this case OperationRequest request = new OperationRequest("wavelet.fetch", "op1"); WaveletProvider waveletProvider = mock(WaveletProvider.class); EventDataConverter converter = mock(EventDataConverter.class); ConversationUtil conversationUtil = mock(ConversationUtil.class); OperationContextImpl context = new OperationContextImpl(waveletProvider, converter, conversationUtil); operationService.execute(request, context, BOB); JsonRpcResponse response = context.getResponse(request.getId()); assertFalse("Expected non error response", response.isError()); assertTrue("Empty Response must be set", response.getData().isEmpty()); } }
public void testReturnsEmptyResponse() throws Exception { // Type of operation doesn't matter in this case OperationRequest request = new OperationRequest("wavelet.fetch", "op1"); WaveletProvider waveletProvider = mock(WaveletProvider.class); EventDataConverter converter = mock(EventDataConverter.class); ConversationUtil conversationUtil = mock(ConversationUtil.class); OperationContextImpl context = new OperationContextImpl(waveletProvider, converter, conversationUtil); operationService.execute(request, context, BOB); JsonRpcResponse response = context.getResponse(request.getId()); assertFalse("Expected non error response", response.isError()); assertTrue("Empty Response must be set", response.getData().isEmpty()); } }
/** * Applies the operations within the context of the wavelet. * * @param operations the operations to apply * @param wavelet the wavelet which is the context in which this operation is * performed. * @param hashedVersion the version of the wavelet to which to apply the * operations to. * @param account the account for which to apply robot operations. */ void applyOperations(List<OperationRequest> operations, ReadableWaveletData wavelet, HashedVersion hashedVersion, RobotAccountData account) { // The robots we support should be sending us their version in their first // operation ProtocolVersion protocolVersion = OperationUtil.getProtocolVersion(operations); OperationContextImpl context = new OperationContextImpl(waveletProvider, converterManager.getEventDataConverter(protocolVersion), conversationUtil, new RobotWaveletData(wavelet, hashedVersion)); executeOperations(context, operations, account); handleResults(context, account); }
/** * Performs search using Data API. */ protected SearchResult performSearch(SearchRequest searchRequest, ParticipantId user) { OperationQueue opQueue = new OperationQueue(); opQueue.search(searchRequest.getQuery(), searchRequest.getIndex(), searchRequest.getNumResults()); OperationContextImpl context = new OperationContextImpl(waveletProvider, converterManager.getEventDataConverter(ProtocolVersion.DEFAULT), conversationUtil); LOG.fine( "Performing query: " + searchRequest.getQuery() + " [" + searchRequest.getIndex() + ", " + (searchRequest.getIndex() + searchRequest.getNumResults()) + "]"); OperationRequest operationRequest = opQueue.getPendingOperations().get(0); String opId = operationRequest.getId(); OperationUtil.executeOperation(operationRequest, operationRegistry, context, user); JsonRpcResponse jsonRpcResponse = context.getResponses().get(opId); SearchResult searchResult = (SearchResult) jsonRpcResponse.getData().get(ParamsProperty.SEARCH_RESULTS); return searchResult; } }
/** * Constructs a new {@link OperationServiceHelper} with a wavelet with the * name and participant that are passed in. * * @param waveletName the name of the empty wavelet to open in the context. * @param participant the participant that should be on that empty wavelet. */ public OperationServiceHelper(WaveletName waveletName, ParticipantId participant) { waveletProvider = mock(WaveletProvider.class); EventDataConverter converter = new EventDataConverterV22(); ObservableWaveletData waveletData = WaveletDataImpl.Factory.create(DOCUMENT_FACTORY).create( new EmptyWaveletSnapshot(waveletName.waveId, waveletName.waveletId, participant, HASH_FACTORY.createVersionZero(waveletName), 0L)); waveletData.addParticipant(participant); BasicWaveletOperationContextFactory CONTEXT_FACTORY = new BasicWaveletOperationContextFactory(participant); SilentOperationSink<WaveletOperation> executor = SilentOperationSink.Executor.<WaveletOperation, WaveletData>build(waveletData); OpBasedWavelet wavelet = new OpBasedWavelet(waveletData.getWaveId(), waveletData, CONTEXT_FACTORY, ParticipationHelper.DEFAULT, executor, SilentOperationSink.VOID); // Make a conversation with an empty root blip WaveletBasedConversation.makeWaveletConversational(wavelet); ConversationUtil conversationUtil = new ConversationUtil(FakeIdGenerator.create()); ObservableConversation conversation = conversationUtil.buildConversation(wavelet).getRoot(); conversation.getRootThread().appendBlip(); context = new OperationContextImpl(waveletProvider, converter, conversationUtil); context.putWavelet(waveletName.waveId, waveletName.waveletId, new RobotWaveletData(waveletData, HASH_FACTORY.createVersionZero(waveletName))); }