@Test
  public void testExecute() throws Exception {

    int uktFilesSize = 0;

    String parentDir =
        ResourceUtils.getFile("classpath:schedule/test-uktstatus.gpg.txt").getParent();

    setUktDirectory(parentDir);

    File uktDir = new File(uktDirectory);
    File[] uktFiles =
        uktDir.listFiles(
            new FilenameFilter() {
              public boolean accept(File dir, String name) {
                return name.endsWith("uktstatus.gpg.txt");
              }
            });

    if (uktFiles != null) {
      uktFilesSize = uktFiles.length;
    }

    assertTrue("Can not read UKT files", uktFilesSize != 0);

    uktImportExportScheduler.setUktDirectory(parentDir);
    uktImportExportScheduler.setUktExportDirectory(parentDir);
    uktImportExportScheduler.execute();

    UktStatus uktStatus = ukTransplantManager.getUktStatus("9876543210");

    if (uktFilesSize > 0) {
      assertNotNull("UktStatus not be saved", uktStatus);
      File file = ResourceUtils.getFile("classpath:schedule/ukt_rpv_export.txt");
      CSVParser uktParser = new CSVParser(new FileReader(file));
      uktParser.changeDelimiter(',');
      String[][] uktValues = uktParser.getAllValues();

      assertEquals("nhsno not same", patient.getNhsno(), uktValues[0][0]);
      assertEquals("surname not same", patient.getSurname(), uktValues[0][1]);
      assertEquals("forname not same", patient.getForename(), uktValues[0][2]);
      assertEquals("postcode not same", patient.getPostcode(), uktValues[0][4]);

      uktParser.close();
    } else {
      assertNull("Wrong entity exists.", uktStatus);
    }
  }