@Override
   public List<Service> getServiceDefinitions() throws MockRepositoryImportException {
      List<Service> result = new ArrayList<>();

      List<Element> interfaceNodes = getConfigDirectChildren(projectElement, "interface");
      for (Element interfaceNode : interfaceNodes) {
         // Filter complete interface definition with name as attribute.
         if (interfaceNode.getAttribute(NAME_ATTRIBUTE) != null) {
            log.info("Found a service interface named: {}", interfaceNode.getAttribute(NAME_ATTRIBUTE));
            interfaces.put(interfaceNode.getAttribute(NAME_ATTRIBUTE), interfaceNode);
            serviceInterface = interfaceNode;
         }
      }

      // Try loading definitions from Soap mock services.
      List<Element> mockServices = getConfigDirectChildren(projectElement, MOCK_SERVICE_TAG);
      if (!mockServices.isEmpty()) {
         result.addAll(getSoapServicesDefinitions(mockServices));
      }
      // Then try loading from Rest mock services.
      List<Element> restMockServices = getConfigDirectChildren(projectElement, REST_MOCK_SERVICE_TAG);
      if (!restMockServices.isEmpty()) {
         result.addAll(getRestServicesDefinitions(restMockServices));
      }

      return result;
   }
@Test
   void testHelloAPIProjectImport() {
      SoapUIProjectImporter importer = null;
      try {
         importer = new SoapUIProjectImporter(
               "target/test-classes/io/github/microcks/util/soapui/HelloAPI-soapui-project.xml");
      } catch (Exception e) {
         fail("Exception should not be thrown");
      }
      // Check that basic service properties are there.
      List<Service> services = null;
      try {
         services = importer.getServiceDefinitions();
      } catch (MockRepositoryImportException e) {
         fail("Exception should not be thrown");
      }
      assertEquals(1, services.size());
   }