### Question:
UserPushDeviceProfileManager { public PushDeviceSettings createDeviceProfile() { byte[] secretBytes = new byte[SECRET_BYTE_LENGTH]; secureRandom.nextBytes(secretBytes); String sharedSecret = Base64.encode(secretBytes); return new PushDeviceSettings(sharedSecret, DEVICE_NAME); } @Inject  UserPushDeviceProfileManager(final @Nonnull PushDevicesDao devicesDao,
                                        final @Nonnull @Named("amAuthPush") Debug debug,
                                        final @Nonnull SecureRandom secureRandom,
                                        final @Nonnull DeviceJsonUtils<PushDeviceSettings> jsonUtils); PushDeviceSettings createDeviceProfile(); String createRandomBytes(int byteNum); void saveDeviceProfile(@Nonnull String user, @Nonnull String realm,
                                  @Nonnull PushDeviceSettings deviceSettings); List<PushDeviceSettings> getDeviceProfiles(@Nonnull String user, @Nonnull String realm);  }### Answer:
@Test public void shouldCreateBasicProfile() { PushDeviceSettings profile = userPushDeviceProfileManager.createDeviceProfile(); assertThat(profile.getCommunicationId()).isNull(); assertThat(profile.getDeviceName()).isEqualTo(UserPushDeviceProfileManager.DEVICE_NAME); assertThat(profile.getSharedSecret()).isNotEmpty(); }