use of org.odk.collect.forms.Form in project collect by opendatakit.
the class ServerFormDownloaderTest method whenDownloadingFormWithVersion_andId_andHashOnDevice_doesNotLogAnalytics.
@Test
public void whenDownloadingFormWithVersion_andId_andHashOnDevice_doesNotLogAnalytics() throws Exception {
String xform = FormUtils.createXFormBody("form", "version", "A title");
Form form = buildForm("form", "version", getFormFilesPath(), xform).build();
formsRepository.save(form);
String xform2 = FormUtils.createXFormBody("form2", "version", "A different title");
Form form2 = buildForm("form", "version", getFormFilesPath(), xform2).build();
formsRepository.save(form2);
ServerFormDetails serverFormDetails = new ServerFormDetails(form.getDisplayName(), "http://downloadUrl", form.getFormId(), form.getVersion(), Md5.getMd5Hash(new ByteArrayInputStream(xform.getBytes())), true, false, null);
FormSource formSource = mock(FormSource.class);
when(formSource.fetchForm("http://downloadUrl")).thenReturn(new ByteArrayInputStream(xform.getBytes()));
Analytics mockAnalytics = mock(Analytics.class);
ServerFormDownloader downloader = new ServerFormDownloader(formSource, formsRepository, cacheDir, formsDir.getAbsolutePath(), new FormMetadataParser(), mockAnalytics);
downloader.downloadForm(serverFormDetails, null, null);
verifyNoInteractions(mockAnalytics);
}
use of org.odk.collect.forms.Form in project collect by opendatakit.
the class FormDeleterTest method whenOtherVersionOfFormHasInstances_deletesForm.
@Test
public void whenOtherVersionOfFormHasInstances_deletesForm() {
formsRepository.save(new Form.Builder().formId("1").version("old").formFilePath(FormUtils.createXFormFile("1", "old").getAbsolutePath()).build());
Form formToDelete = formsRepository.save(new Form.Builder().formId("1").version("new").formFilePath(FormUtils.createXFormFile("1", "new").getAbsolutePath()).build());
instancesRepository.save(new Instance.Builder().formId("1").formVersion("old").build());
formDeleter.delete(formToDelete.getDbId());
List<Form> forms = formsRepository.getAll();
assertThat(forms.size(), is(1));
assertThat(forms.get(0).getVersion(), is("old"));
}
use of org.odk.collect.forms.Form in project collect by opendatakit.
the class FormDeleterTest method whenFormHasNullVersion_butAnotherVersionHasInstances_deletesForm.
@Test
public void whenFormHasNullVersion_butAnotherVersionHasInstances_deletesForm() {
formsRepository.save(new Form.Builder().formId("1").version("version").formFilePath(FormUtils.createXFormFile("1", "version").getAbsolutePath()).build());
Form formToDelete = formsRepository.save(new Form.Builder().formId("1").version(null).formFilePath(FormUtils.createXFormFile("1", null).getAbsolutePath()).build());
instancesRepository.save(new Instance.Builder().formId("1").formVersion("version").build());
formDeleter.delete(formToDelete.getDbId());
List<Form> forms = formsRepository.getAll();
assertThat(forms.size(), is(1));
assertThat(forms.get(0).getVersion(), is("version"));
}
use of org.odk.collect.forms.Form in project collect by opendatakit.
the class FormDeleterTest method whenFormIdAndVersionCombinationIsNotUnique_andInstanceExists_hardDeletesForm.
@Test
public void whenFormIdAndVersionCombinationIsNotUnique_andInstanceExists_hardDeletesForm() {
Form formToDelete = formsRepository.save(new Form.Builder().formId("id").version("version").formFilePath(FormUtils.createXFormFile("id", "version").getAbsolutePath()).build());
instancesRepository.save(new Instance.Builder().formId("id").formVersion("version").build());
formsRepository.save(new Form.Builder().formId("id").version("version").formFilePath(FormUtils.createXFormFile("id", "version").getAbsolutePath()).build());
formDeleter.delete(formToDelete.getDbId());
List<Form> forms = formsRepository.getAll();
assertThat(forms.size(), is(1));
assertThat(forms.get(0).getDbId(), is(2L));
}
use of org.odk.collect.forms.Form in project collect by opendatakit.
the class FormDeleterTest method whenFormHasDeletedInstances_deletesForm.
@Test
public void whenFormHasDeletedInstances_deletesForm() {
Form formToDelete = formsRepository.save(new Form.Builder().formId("id").version("version").formFilePath(FormUtils.createXFormFile("id", "version").getAbsolutePath()).build());
instancesRepository.save(new Instance.Builder().formId("id").formVersion("version").deletedDate(0L).build());
formDeleter.delete(formToDelete.getDbId());
assertThat(formsRepository.getAll().size(), is(0));
}
Aggregations