@UsesMocks({SocializeConfig.class, MockContext.class, Intent.class}) public void test_registerC2DM() { final String senderId = "foobar"; NotificationRegistrationState notificationRegistrationState = AndroidMock.createMock(NotificationRegistrationState.class); SocializeConfig config = AndroidMock.createMock(SocializeConfig.class); MockContext context = AndroidMock.createNiceMock(MockContext.class); final Intent registrationIntent = AndroidMock.createMock(Intent.class); AndroidMock.expect(notificationRegistrationState.isC2dmPending()).andReturn(false); notificationRegistrationState.setC2dmPendingRequestTime(AndroidMock.anyLong()); notificationRegistrationState.save(context); AndroidMock.expect(config.getProperty(SocializeConfig.SOCIALIZE_C2DM_SENDER_ID)) .andReturn(senderId); AndroidMock.expect( registrationIntent.putExtra( SocializeNotificationRegistrationSystem.EXTRA_APPLICATION_PENDING_INTENT, (PendingIntent) null)) .andReturn(registrationIntent); AndroidMock.expect( registrationIntent.putExtra( SocializeNotificationRegistrationSystem.EXTRA_SENDER, senderId)) .andReturn(registrationIntent); AndroidMock.expect(context.startService(registrationIntent)).andReturn(null); AndroidMock.replay(notificationRegistrationState, config, context, registrationIntent); SocializeNotificationRegistrationSystem system = new SocializeNotificationRegistrationSystem() { @Override public boolean isRegisteredC2DM() { return false; } @Override protected Intent newIntent(String action) { return registrationIntent; } @Override protected PendingIntent newPendingIntent(Context context) { return null; } }; system.setConfig(config); system.setNotificationRegistrationState(notificationRegistrationState); system.registerC2DM(context); AndroidMock.verify(notificationRegistrationState, config, context, registrationIntent); }
@SuppressWarnings("unchecked") public void test_doRegistrationSocialize() throws SocializeException { final String registrationId = "foobar"; final User user = new User(); DeviceRegistration registration = AndroidMock.createMock(DeviceRegistration.class); NotificationRegistrationState notificationRegistrationState = AndroidMock.createMock(NotificationRegistrationState.class); DeviceRegistrationSystem deviceRegistrationSystem = new DeviceRegistrationSystem() { @Override public void registerDevice( SocializeSession session, DeviceRegistration registration, DeviceRegistrationListener listener) { listener.onSuccess(); } }; IBeanFactory<DeviceRegistration> deviceRegistrationFactory = AndroidMock.createMock(IBeanFactory.class); SocializeSession session = AndroidMock.createMock(SocializeSession.class); AndroidMock.expect(deviceRegistrationFactory.getBean()).andReturn(registration); AndroidMock.expect(session.getUser()).andReturn(user); registration.setRegistrationId(registrationId); notificationRegistrationState.setC2DMRegistrationId(registrationId); notificationRegistrationState.setRegisteredSocialize(user); notificationRegistrationState.save(getContext()); AndroidMock.replay( deviceRegistrationFactory, registration, notificationRegistrationState, session); PublicSocializeNotificationRegistrationSystem system = new PublicSocializeNotificationRegistrationSystem(); system.setDeviceRegistrationFactory(deviceRegistrationFactory); system.setDeviceRegistrationSystem(deviceRegistrationSystem); system.setNotificationRegistrationState(notificationRegistrationState); system.doRegistrationSocialize(getContext(), session, registrationId); AndroidMock.verify( deviceRegistrationFactory, registration, notificationRegistrationState, session); }
public void test_registerC2DMFailed() { NotificationRegistrationState notificationRegistrationState = AndroidMock.createMock(NotificationRegistrationState.class); notificationRegistrationState.setC2dmPendingRequestTime(0); notificationRegistrationState.save(getContext()); AndroidMock.replay(notificationRegistrationState); SocializeNotificationRegistrationSystem system = new SocializeNotificationRegistrationSystem(); system.setNotificationRegistrationState(notificationRegistrationState); system.registerC2DMFailed(getContext(), null); AndroidMock.verify(notificationRegistrationState); }
public void test_registerSocialize() { NotificationRegistrationState notificationRegistrationState = AndroidMock.createMock(NotificationRegistrationState.class); notificationRegistrationState.setPendingSocializeRequestTime(AndroidMock.anyLong()); notificationRegistrationState.save(getContext()); final SocializeSession session = AndroidMock.createMock(SocializeSession.class); final String registrationId = "foobar"; SocializeUserSystem userSystem = new SocializeUserSystem(null) { @Override public void authenticate( Context context, SocializeAuthListener listener, SocializeSessionConsumer sessionConsumer) { listener.onAuthSuccess(session); } }; SocializeNotificationRegistrationSystem system = new SocializeNotificationRegistrationSystem() { @Override protected void doRegistrationSocialize( Context context, SocializeSession session, String registrationId) { addResult(0, session); } }; system.setUserSystem(userSystem); system.setNotificationRegistrationState(notificationRegistrationState); AndroidMock.replay(notificationRegistrationState, session); system.registerSocialize(getContext(), registrationId); AndroidMock.verify(notificationRegistrationState, session); SocializeSession result = getResult(0); assertSame(session, result); }