InstallationId installationId() { synchronized (lock) { if (installationId == null) { //noinspection deprecation installationId = new InstallationId(new File(getParseDir(), INSTALLATION_ID_LOCATION)); } return installationId; } }
@Test public void testInstallationIdIsRandom() { File installationIdFile = new File(temporaryFolder.getRoot(), "installationId"); String installationIdString = new InstallationId(installationIdFile).get(); ParseFileUtils.deleteQuietly(installationIdFile); assertFalse(installationIdString.equals(new InstallationId(installationIdFile).get())); }
static ParsePlugins mockParsePlugins(Parse.Configuration configuration) { ParsePlugins parsePlugins = mock(ParsePlugins.class); when(parsePlugins.applicationId()).thenReturn(configuration.applicationId); when(parsePlugins.clientKey()).thenReturn(configuration.clientKey); when(parsePlugins.configuration()).thenReturn(configuration); Context applicationContext = configuration.context.getApplicationContext(); when(parsePlugins.applicationContext()).thenReturn(applicationContext); File parseDir = createFileDir(applicationContext.getDir("Parse", Context.MODE_PRIVATE)); when(parsePlugins.installationId()) .thenReturn( new InstallationId(new File(parseDir, "installationId"))); when(parsePlugins.getParseDir()) .thenReturn(parseDir); when(parsePlugins.getCacheDir()) .thenReturn(createFileDir( new File(applicationContext.getCacheDir(), "com.parse"))); when(parsePlugins.getFilesDir()) .thenReturn(createFileDir( new File(applicationContext.getFilesDir(), "com.parse"))); return parsePlugins; }
@Test public void testSetSameDoesNotWriteToDisk() { File installationIdFile = new File(temporaryFolder.getRoot(), "installationId"); InstallationId installationId = new InstallationId(installationIdFile); String installationIdString = installationId.get(); ParseFileUtils.deleteQuietly(installationIdFile); installationId.set(installationIdString); assertFalse(installationIdFile.exists()); }
@Test public void testSetWritesInstallationIdToFile() throws Exception { File installationIdFile = new File(temporaryFolder.getRoot(), "installationId"); InstallationId installationId = new InstallationId(installationIdFile); installationId.set("test_installation_id"); assertEquals("test_installation_id", ParseFileUtils.readFileToString(installationIdFile, "UTF-8")); }
@Test public void testSetThenGet() { File installationIdFile = new File(temporaryFolder.getRoot(), "installationId"); InstallationId installationId = new InstallationId(installationIdFile); installationId.set("test_installation_id"); assertEquals("test_installation_id", installationId.get()); }
@Test public void testGetReadsInstallationIdFromFile() throws Exception { File installationIdFile = new File(temporaryFolder.getRoot(), "installationId"); InstallationId installationId = new InstallationId(installationIdFile); ParseFileUtils.writeStringToFile(installationIdFile, "test_installation_id", "UTF-8"); assertEquals("test_installation_id", installationId.get()); }
@Test public void testSetNullDoesNotPersist() { File installationIdFile = new File(temporaryFolder.getRoot(), "installationId"); InstallationId installationId = new InstallationId(installationIdFile); String installationIdString = installationId.get(); installationId.set(null); assertEquals(installationIdString, installationId.get()); }
@Test public void testGetGeneratesInstallationIdAndFile() throws Exception { File installationIdFile = new File(temporaryFolder.getRoot(), "installationId"); InstallationId installationId = new InstallationId(installationIdFile); String installationIdString = installationId.get(); assertNotNull(installationIdString); assertEquals(installationIdString, ParseFileUtils.readFileToString(installationIdFile, "UTF-8")); }
@Test public void testSetEmptyStringDoesNotPersist() { File installationIdFile = new File(temporaryFolder.getRoot(), "installationId"); InstallationId installationId = new InstallationId(installationIdFile); String installationIdString = installationId.get(); installationId.set(""); assertEquals(installationIdString, installationId.get()); } }
@Test public void testInstallationIdIsCachedInMemory() { File installationIdFile = new File(temporaryFolder.getRoot(), "installationId"); InstallationId installationId = new InstallationId(installationIdFile); String installationIdString = installationId.get(); ParseFileUtils.deleteQuietly(installationIdFile); assertEquals(installationIdString, installationId.get()); }