@Override protected void setUp() throws Exception { robotSerializer = mock(RobotSerializer.class); operationRegistry = mock(OperationServiceRegistry.class); validator = mock(OAuthValidator.class); EventDataConverterManager converterManager = mock(EventDataConverterManager.class); WaveletProvider waveletProvider = mock(WaveletProvider.class); ConversationUtil conversationUtil = mock(ConversationUtil.class); OAuthServiceProvider oAuthServiceProvider = mock(OAuthServiceProvider.class); AccountStore accountStore = mock(AccountStore.class); when(accountStore.getAccount(ROBOT)).thenReturn( new RobotAccountDataImpl(ROBOT, "", "secret", null, true)); req = mock(HttpServletRequest.class); when(req.getRequestURL()).thenReturn(new StringBuffer("www.example.com/robot")); when(req.getHeaderNames()).thenReturn( convertRawEnumerationToGeneric(new StringTokenizer("Authorization"))); when(req.getReader()).thenReturn(new BufferedReader(new StringReader(""))); resp = mock(HttpServletResponse.class); outputWriter = new StringWriter(); when(resp.getWriter()).thenReturn(new PrintWriter(outputWriter)); servlet = new ActiveApiServlet(robotSerializer, converterManager, waveletProvider, operationRegistry, conversationUtil, oAuthServiceProvider, validator, accountStore); }
@Override protected void setUp() throws Exception { robotSerializer = mock(RobotSerializer.class); operationRegistry = mock(OperationServiceRegistry.class); validator = mock(OAuthValidator.class); EventDataConverterManager converterManager = mock(EventDataConverterManager.class); WaveletProvider waveletProvider = mock(WaveletProvider.class); ConversationUtil conversationUtil = mock(ConversationUtil.class); OAuthServiceProvider oAuthServiceProvider = mock(OAuthServiceProvider.class); AccountStore accountStore = mock(AccountStore.class); when(accountStore.getAccount(ROBOT)).thenReturn( new RobotAccountDataImpl(ROBOT, "", "secret", null, true)); req = mock(HttpServletRequest.class); when(req.getRequestURL()).thenReturn(new StringBuffer("www.example.com/robot")); when(req.getHeaderNames()).thenReturn( convertRawEnumerationToGeneric(new StringTokenizer("Authorization"))); when(req.getReader()).thenReturn(new BufferedReader(new StringReader(""))); resp = mock(HttpServletResponse.class); outputWriter = new StringWriter(); when(resp.getWriter()).thenReturn(new PrintWriter(outputWriter)); servlet = new ActiveApiServlet(robotSerializer, converterManager, waveletProvider, operationRegistry, conversationUtil, oAuthServiceProvider, validator, accountStore); }
/** * Adds the robot to the account store and notifies the listeners. */ private RobotAccountData registerRobot(ParticipantId robotId, String location) throws RobotRegistrationException, PersistenceException { String robotLocation = computeValidateRobotUrl(location); RobotAccountData robotAccount = new RobotAccountDataImpl(robotId, robotLocation, tokenGenerator.generateToken(TOKEN_LENGTH), null, true); accountStore.putAccount(robotAccount); for (Listener listener : listeners) { listener.onRegistrationSuccess(robotAccount); } return robotAccount; }
private AccountData objectToRobot(ParticipantId id, DBObject robot) { String url = (String) robot.get(ROBOT_URL_FIELD); String secret = (String) robot.get(ROBOT_SECRET_FIELD); RobotCapabilities capabilities = objectToCapabilities((DBObject) robot.get(ROBOT_CAPABILITIES_FIELD)); boolean verified = (Boolean) robot.get(ROBOT_VERIFIED_FIELD); return new RobotAccountDataImpl(id, url, secret, capabilities, verified); }
private static RobotAccountData deserialize(String account_id, ProtoRobotAccountData data) { ParticipantId id = ParticipantId.ofUnsafe(account_id); RobotCapabilities capabilities = null; if (data.hasRobotCapabilities()) { capabilities = deserialize(data.getRobotCapabilities()); } return new RobotAccountDataImpl(id, data.getUrl(), data.getConsumerSecret(), capabilities, data.getIsVerified()); }
@Override protected void setUp() throws Exception { super.setUp(); robotAccount = new RobotAccountDataImpl(ROBOT_ID, "example.com", "secret", null, false); // For the updatedRobotAccount, we'll put a few capabilities in with a mix // of field values. Map<EventType, Capability> capabilities = CollectionUtils.newHashMap(); capabilities.put( EventType.WAVELET_BLIP_CREATED, new Capability(EventType.WAVELET_BLIP_CREATED)); capabilities.put(EventType.DOCUMENT_CHANGED, new Capability(EventType.DOCUMENT_CHANGED, CollectionUtils.newArrayList(Context.SIBLINGS))); capabilities.put(EventType.BLIP_SUBMITTED, new Capability(EventType.BLIP_SUBMITTED, CollectionUtils.newArrayList(Context.SIBLINGS, Context.PARENT), "blah")); updatedRobotAccount = new RobotAccountDataImpl(ROBOT_ID, "example.com", "secret", new RobotCapabilities( capabilities, "FAKEHASH", ProtocolVersion.DEFAULT), true); convertedRobot = new HumanAccountDataImpl(ROBOT_ID); }
@Override protected void setUp() throws Exception { super.setUp(); robotAccount = new RobotAccountDataImpl(ROBOT_ID, "example.com", "secret", null, false); // For the updatedRobotAccount, we'll put a few capabilities in with a mix // of field values. Map<EventType, Capability> capabilities = CollectionUtils.newHashMap(); capabilities.put( EventType.WAVELET_BLIP_CREATED, new Capability(EventType.WAVELET_BLIP_CREATED)); capabilities.put(EventType.DOCUMENT_CHANGED, new Capability(EventType.DOCUMENT_CHANGED, CollectionUtils.newArrayList(Context.SIBLINGS))); capabilities.put(EventType.BLIP_SUBMITTED, new Capability(EventType.BLIP_SUBMITTED, CollectionUtils.newArrayList(Context.SIBLINGS, Context.PARENT), "blah")); updatedRobotAccount = new RobotAccountDataImpl(ROBOT_ID, "example.com", "secret", new RobotCapabilities( capabilities, "FAKEHASH", ProtocolVersion.DEFAULT), true); convertedRobot = new HumanAccountDataImpl(ROBOT_ID); }
@Override protected void setUp() throws Exception { super.setUp(); robotAccount = new RobotAccountDataImpl(ROBOT_ID, "example.com", "secret", null, false); Map<EventType, Capability> capabilities = CollectionUtils.newHashMap(); capabilities.put( EventType.WAVELET_BLIP_CREATED, new Capability(EventType.WAVELET_BLIP_CREATED)); capabilities.put(EventType.DOCUMENT_CHANGED, new Capability(EventType.DOCUMENT_CHANGED, CollectionUtils.newArrayList(Context.SIBLINGS))); capabilities.put(EventType.BLIP_SUBMITTED, new Capability(EventType.BLIP_SUBMITTED, CollectionUtils.newArrayList(Context.SIBLINGS, Context.PARENT), "blah")); robotAccountWithCapabilities = new RobotAccountDataImpl(ROBOT_ID, "example.com", "secret", new RobotCapabilities( capabilities, "FAKEHASH", ProtocolVersion.DEFAULT), true); humanAccount = new HumanAccountDataImpl(HUMAN_ID); humanAccountWithDigest = new HumanAccountDataImpl(HUMAN_ID, new PasswordDigest("password".toCharArray())); }
@Override protected void setUp() throws Exception { super.setUp(); robotAccount = new RobotAccountDataImpl(ROBOT_ID, "example.com", "secret", null, false); Map<EventType, Capability> capabilities = CollectionUtils.newHashMap(); capabilities.put( EventType.WAVELET_BLIP_CREATED, new Capability(EventType.WAVELET_BLIP_CREATED)); capabilities.put(EventType.DOCUMENT_CHANGED, new Capability(EventType.DOCUMENT_CHANGED, CollectionUtils.newArrayList(Context.SIBLINGS))); capabilities.put(EventType.BLIP_SUBMITTED, new Capability(EventType.BLIP_SUBMITTED, CollectionUtils.newArrayList(Context.SIBLINGS, Context.PARENT), "blah")); robotAccountWithCapabilities = new RobotAccountDataImpl(ROBOT_ID, "example.com", "secret", new RobotCapabilities( capabilities, "FAKEHASH", ProtocolVersion.DEFAULT), true); humanAccount = new HumanAccountDataImpl(HUMAN_ID); humanAccountWithDigest = new HumanAccountDataImpl(HUMAN_ID, new PasswordDigest("password".toCharArray())); }
/** * Returns a new {@link RobotAccountData} updated with the new capabilities * using the given {@link RobotAccountData}. * * @param account The {@link RobotAccountData} to update the capabilities for. * @param activeApiUrl the url of the Active Robot API. * @throws CapabilityFetchException if the capabilities couldn't be retrieved * or parsed. */ public RobotAccountData fetchCapabilities(RobotAccountData account, String activeApiUrl) throws CapabilityFetchException { RobotCapabilitiesParser parser = new RobotCapabilitiesParser( account.getUrl() + Robot.CAPABILITIES_URL, connection, activeApiUrl); RobotCapabilities capabilities = new RobotCapabilities( parser.getCapabilities(), parser.getCapabilitiesHash(), parser.getProtocolVersion()); return new RobotAccountDataImpl(account.getId(), account.getUrl(), account.getConsumerSecret(), capabilities, account.isVerified()); } }