@Before
  public void prepare() {
    MongoDBInstance.start();
    try {
      MongoProvider provider = new MongoProvider("localhost", 10000, "test", null, null);
      orgDao = new OrganizationDao();
      ReflectionTestUtils.setField(orgDao, "provider", provider);

      org = new Organization();
      org.setOrganizationId("orgId");
      org.setDatasets(new ArrayList<Dataset>());
      org.setOrganizationUri("testUri");
      org.setHarvestingMetadata(new HarvestingMetadata());
      ds = new Dataset();
      ds.setAccepted(true);
      ds.setAssignedToLdapId("Lemmy");
      ds.setCountry(Country.ALBANIA);
      ds.setCreated(new Date(1000));
      ds.setCreatedByLdapId("Lemmy");
      ds.setDataProvider("prov");
      ds.setDeaSigned(true);
      ds.setDescription("Test description");
      List<String> DQA = new ArrayList<>();
      DQA.add("test DQA");
      ds.setDQA(DQA);
      ds.setFirstPublished(new Date(1000));
      ds.setHarvestedAt(new Date(1000));
      ds.setLanguage(Language.AR);
      ds.setLastPublished(new Date(1000));
      ds.setMetadata(new OAIDatasetMetadata());
      ds.setName("testName");
      ds.setNotes("test Notes");
      ds.setRecordsPublished(100);
      ds.setRecordsSubmitted(199);
      ds.setReplacedBy("replacedBY");
      List<String> sources = new ArrayList<>();
      sources.add("testSource");
      ds.setSource(sources);
      List<String> subjects = new ArrayList<>();
      subjects.add("testSubject");
      ds.setSubject(subjects);
      ds.setSubmittedAt(new Date(1000));
      ds.setUpdated(new Date(1000));
      ds.setWorkflowStatus(WorkflowStatus.ACCEPTANCE);

      dsDao = new DatasetDao();
      ReflectionTestUtils.setField(dsDao, "provider", provider);

    } catch (IOException e) {
      e.printStackTrace();
    }
  }