diff --git a/src/main/java/at/ac/uibk/gitsearch/repository/search/GitFilesRepositoryImpl.java b/src/main/java/at/ac/uibk/gitsearch/repository/search/GitFilesRepositoryImpl.java
index baf04a136ade64aef0a1a69949ef1842b123f351..f2525a904b2363f02da1681ec3e4e1f5af785519 100644
--- a/src/main/java/at/ac/uibk/gitsearch/repository/search/GitFilesRepositoryImpl.java
+++ b/src/main/java/at/ac/uibk/gitsearch/repository/search/GitFilesRepositoryImpl.java
@@ -144,10 +144,10 @@ public class GitFilesRepositoryImpl implements GitFilesRepository {
         }
         SearchRequest searchRequest = new SearchRequest(GitFilesRepositoryConstants.INDEX_METADATA);
         BoolQueryBuilder queryBuilder = QueryBuilders.boolQuery();
-        addMetadataQueryShould(queryBuilder, searchInputDTO.getMetadataProgrammingLanguage(), GitFilesRepositoryConstants.METADATA_PROGRAMMING_LANGUAGES);
-        addMetadataQueryShould(queryBuilder, searchInputDTO.getMetadataKeywords(), GitFilesRepositoryConstants.METADATA_KEYWORDS);
-        addMetadataQueryMust(queryBuilder, searchInputDTO.getMetadataAuthor(), GitFilesRepositoryConstants.METADATA_CREATOR);
-        addMetadataQueryMust(queryBuilder, searchInputDTO.getMetadataLicense(), GitFilesRepositoryConstants.METADATA_LICENSE);
+        addMetadataQueryShould(queryBuilder, searchInputDTO.getMetadata().getProgrammingLanguage(), GitFilesRepositoryConstants.METADATA_PROGRAMMING_LANGUAGES);
+        addMetadataQueryShould(queryBuilder, searchInputDTO.getMetadata().getKeyword(), GitFilesRepositoryConstants.METADATA_KEYWORDS);
+        addMetadataQueryMust(queryBuilder, searchInputDTO.getMetadata().getAuthor(), GitFilesRepositoryConstants.METADATA_CREATOR);
+        addMetadataQueryMust(queryBuilder, searchInputDTO.getMetadata().getLicense(), GitFilesRepositoryConstants.METADATA_LICENSE);
         SearchSourceBuilder sourceBuilder = new SearchSourceBuilder()
             .query(queryBuilder)
             .fetchSource(GitFilesRepositoryConstants.METADATA_PROJECT_ID, null);
diff --git a/src/main/java/at/ac/uibk/gitsearch/repository/search/MetaDataRepository.java b/src/main/java/at/ac/uibk/gitsearch/repository/search/MetaDataRepository.java
index 7ce9a59724c0706138fd76c5c4958b5eb645132a..995be42cd0587989f236ebfa3cd1a3b045281483 100644
--- a/src/main/java/at/ac/uibk/gitsearch/repository/search/MetaDataRepository.java
+++ b/src/main/java/at/ac/uibk/gitsearch/repository/search/MetaDataRepository.java
@@ -44,7 +44,7 @@ public class MetaDataRepository {
 
 	/**
 	 * just a local wrapper, to decrypt JSON
-	 * 
+	 *
 	 */
 	public static class SearchResultDTOWrapper {
 		private SearchResultDTO metadata = new SearchResultDTO();
@@ -56,7 +56,7 @@ public class MetaDataRepository {
 		public void setMetadata(SearchResultDTO metadata) {
 			this.metadata = metadata;
 		}
-		
+
 		private GitProject project;
 
 		public GitProject getProject() {
@@ -66,8 +66,8 @@ public class MetaDataRepository {
 		public void setProject(GitProject project) {
 			this.project = project;
 		}
-		
-		
+
+
 
 	}
 
@@ -93,7 +93,7 @@ public class MetaDataRepository {
 
 	/**
 	 * returns all keyword autocompletes for keyWord
-	 * 
+	 *
 	 * @param keyWordPrefix
 	 * @return
 	 * @throws IOException
@@ -104,7 +104,7 @@ public class MetaDataRepository {
 
 	/**
 	 * returns all programmingLanguage autocompletes for keyWord
-	 * 
+	 *
 	 * @param progammingLanguagePrefix
 	 * @return
 	 * @throws IOException
@@ -115,7 +115,7 @@ public class MetaDataRepository {
 
 	/**
 	 * returns all creator autocompletes
-	 * 
+	 *
 	 * @param creatorPrefix
 	 * @return
 	 * @throws IOException
@@ -126,7 +126,7 @@ public class MetaDataRepository {
 
 	/**
 	 * returns all contributor autocompletes
-	 * 
+	 *
 	 * @param contributorPrefix
 	 * @return
 	 * @throws IOException
@@ -179,7 +179,7 @@ public class MetaDataRepository {
 			}
 		}
 	}
-	
+
 	private void addTo(Map<String, Set<String>> completionMap, List<String> tokenList, String target) {
 		tokenList.forEach(token -> {
 			Set<String> existingTargets = completionMap.get(token);
@@ -190,8 +190,8 @@ public class MetaDataRepository {
 			existingTargets.add(target);
 		});
 	}
-	
-	
+
+
 
 	private List<String> split(String s) {
 		StringTokenizer st = new StringTokenizer(s, " \t\n\r\f ");
@@ -215,21 +215,21 @@ public class MetaDataRepository {
 						SearchRepositoryConstants.METADATA_TITLE)
 						.type(MultiMatchQueryBuilder.Type.PHRASE_PREFIX)
 						);
-		
-		if(!StringUtils.isEmpty(searchInputDTO.getMetadataProgrammingLanguage())) {
-			queryBuilder.must(QueryBuilders.simpleQueryStringQuery(searchInputDTO.getMetadataProgrammingLanguage()).field(SearchRepositoryConstants.METADATA_PROGRAMMING_LANGUAGES));
+
+		if(!StringUtils.isEmpty(searchInputDTO.getMetadata().getProgrammingLanguage())) {
+			queryBuilder.must(QueryBuilders.simpleQueryStringQuery(searchInputDTO.getMetadata().getProgrammingLanguage()).field(SearchRepositoryConstants.METADATA_PROGRAMMING_LANGUAGES));
 		}
-		
-		if(!StringUtils.isEmpty(searchInputDTO.getMetadataKeywords())) {
-			queryBuilder.must(QueryBuilders.simpleQueryStringQuery(searchInputDTO.getMetadataKeywords()).field(SearchRepositoryConstants.METADATA_KEYWORDS));
+
+		if(!StringUtils.isEmpty(searchInputDTO.getMetadata().getKeyword())) {
+			queryBuilder.must(QueryBuilders.simpleQueryStringQuery(searchInputDTO.getMetadata().getKeyword()).field(SearchRepositoryConstants.METADATA_KEYWORDS));
 		}
 
-		if(!StringUtils.isEmpty(searchInputDTO.getMetadataAuthor())) {
-			queryBuilder.must(QueryBuilders.simpleQueryStringQuery(searchInputDTO.getMetadataAuthor()).field(SearchRepositoryConstants.METADATA_CREATOR));
+		if(!StringUtils.isEmpty(searchInputDTO.getMetadata().getAuthor())) {
+			queryBuilder.must(QueryBuilders.simpleQueryStringQuery(searchInputDTO.getMetadata().getAuthor()).field(SearchRepositoryConstants.METADATA_CREATOR));
 		}
 
-		if(!StringUtils.isEmpty(searchInputDTO.getMetadataLicense())) {
-			queryBuilder.must(QueryBuilders.simpleQueryStringQuery(searchInputDTO.getMetadataLicense()).field(SearchRepositoryConstants.METADATA_LICENSE));
+		if(!StringUtils.isEmpty(searchInputDTO.getMetadata().getLicense())) {
+			queryBuilder.must(QueryBuilders.simpleQueryStringQuery(searchInputDTO.getMetadata().getLicense()).field(SearchRepositoryConstants.METADATA_LICENSE));
 		}
 
         char[] boundaryChars = {'\n'};
diff --git a/src/main/java/at/ac/uibk/gitsearch/service/dto/SearchInputDTO.java b/src/main/java/at/ac/uibk/gitsearch/service/dto/SearchInputDTO.java
index b36fe1d26ec3e112f70063f65abd9550d83b54ab..07e51134188deb0845ac61c967cf15d850a96f68 100644
--- a/src/main/java/at/ac/uibk/gitsearch/service/dto/SearchInputDTO.java
+++ b/src/main/java/at/ac/uibk/gitsearch/service/dto/SearchInputDTO.java
@@ -4,11 +4,7 @@ import java.util.List;
 
 public class SearchInputDTO {
     private String fulltextQuery;
-    private String metadataProgrammingLanguage;
-    private String metadataKeywords;
-    private String metadataNaturalLanguage;
-    private String metadataLicense;
-    private String metadataAuthor;
+    private SearchInputMetadataDTO metadata;
     private List<String> selectedRepository;
     private List<String> selectedUniversity;
     private List<String> selectedFileFormat;
@@ -19,26 +15,17 @@ public class SearchInputDTO {
     public SearchInputDTO() {
     	// empty for jackson
     }
-    public SearchInputDTO(String fulltextQuery, String metadataProgrammingLanguage, String metadataKeywords,
-                          String metadataNaturalLanguage, String metadataLicense, String metadataAuthor,
+    public SearchInputDTO(String fulltextQuery, SearchInputMetadataDTO metadata,
                           List<String> selectedRepository, List<String> selectedUniversity,
                           List<String> selectedFileFormat, int page) {
         this.fulltextQuery = fulltextQuery;
-        this.metadataProgrammingLanguage = mapEmptyString(metadataProgrammingLanguage);
-        this.metadataKeywords = mapEmptyString(metadataKeywords);
-        this.metadataNaturalLanguage = mapEmptyString(metadataNaturalLanguage);
-        this.metadataLicense = mapEmptyString(metadataLicense);
-        this.metadataAuthor = mapEmptyString(metadataAuthor);
+        this.metadata = metadata;
         this.selectedRepository = selectedRepository;
         this.selectedUniversity = selectedUniversity;
         this.selectedFileFormat = selectedFileFormat;
         this.page = page;
     }
 
-	private static String mapEmptyString(String str) {
-        return "".equals(str) ? null : str;
-    }
-
     public String getFulltextQuery() {
         return fulltextQuery;
     }
@@ -47,44 +34,8 @@ public class SearchInputDTO {
         this.fulltextQuery = fulltextQuery;
     }
 
-    public String getMetadataProgrammingLanguage() {
-        return metadataProgrammingLanguage;
-    }
-
-    public void setMetadataProgrammingLanguage(String metadataProgrammingLanguage) {
-        this.metadataProgrammingLanguage = metadataProgrammingLanguage;
-    }
-
-    public void setMetadataKeywords(String metadataKeywords) {
-        this.metadataKeywords = metadataKeywords;
-    }
-
-    public String getMetadataKeywords() {
-        return metadataKeywords;
-    }
-
-    public String getMetadataNaturalLanguage() {
-        return metadataNaturalLanguage;
-    }
-
-    public void setMetadataNaturalLanguage(String metadataNaturalLanguage) {
-        this.metadataNaturalLanguage = metadataNaturalLanguage;
-    }
-
-    public String getMetadataLicense() {
-        return metadataLicense;
-    }
-
-    public void setMetadataLicense(String metadataLicense) {
-        this.metadataLicense = metadataLicense;
-    }
-
-    public String getMetadataAuthor() {
-        return metadataAuthor;
-    }
-
-    public void setMetadataAuthor(String metadataAuthor) {
-        this.metadataAuthor = metadataAuthor;
+    public SearchInputMetadataDTO getMetadata() {
+        return metadata;
     }
 
     public List<String> getSelectedRepository() {
@@ -120,19 +71,13 @@ public class SearchInputDTO {
     }
 
     public boolean hasMetadataInput() {
-        return !(metadataProgrammingLanguage == null
-            && metadataKeywords == null
-            && metadataAuthor == null
-            && metadataLicense == null);
+        return this.metadata.hasMetadataInput();
     }
-    
+
     @Override
 	public String toString() {
-		return "SearchInputDTO [fulltextQuery=" + fulltextQuery + ", metadataProgrammingLanguage="
-				+ metadataProgrammingLanguage + ", metadataKeywords=" + metadataKeywords + ", metadataNaturalLanguage="
-				+ metadataNaturalLanguage + ", metadataLicense=" + metadataLicense + ", metadataAuthor="
-				+ metadataAuthor + ", selectedRepository=" + selectedRepository + ", selectedUniversity="
-				+ selectedUniversity + ", selectedFileFormat=" + selectedFileFormat + ", page=" + page + "]";
+		return "SearchInputDTO [fulltextQuery=" + fulltextQuery + ", selectedRepository=" + selectedRepository + ", selectedUniversity="
+				+ selectedUniversity + ", selectedFileFormat=" + selectedFileFormat + ", page=" + page + ", metadata: {" + metadata + "}]";
 	}
 
 
diff --git a/src/main/java/at/ac/uibk/gitsearch/service/dto/SearchInputMetadataDTO.java b/src/main/java/at/ac/uibk/gitsearch/service/dto/SearchInputMetadataDTO.java
new file mode 100644
index 0000000000000000000000000000000000000000..28be41baf9d0e6cce8d79cae4d38adb49edfd891
--- /dev/null
+++ b/src/main/java/at/ac/uibk/gitsearch/service/dto/SearchInputMetadataDTO.java
@@ -0,0 +1,84 @@
+package at.ac.uibk.gitsearch.service.dto;
+
+public class SearchInputMetadataDTO {
+    private String programmingLanguage;
+    private String keyword;
+    private String naturalLanguage;
+    private String license;
+    private String author;
+
+    public SearchInputMetadataDTO() {
+    }
+
+    public SearchInputMetadataDTO(String programmingLanguage,
+                                  String keyword,
+                                  String naturalLanguage,
+                                  String license,
+                                  String author) {
+        this.programmingLanguage = mapEmptyString(programmingLanguage);
+        this.keyword = mapEmptyString(keyword);
+        this.naturalLanguage = mapEmptyString(naturalLanguage);
+        this.license = mapEmptyString(license);
+        this.author = mapEmptyString(author);
+    }
+
+    private static String mapEmptyString(String str) {
+        return "".equals(str) ? null : str;
+    }
+
+    public boolean hasMetadataInput() {
+        return !(programmingLanguage == null
+            && keyword == null
+            && author == null
+            && license == null);
+    }
+
+    public String getProgrammingLanguage() {
+        return programmingLanguage;
+    }
+
+    public void setProgrammingLanguage(String programmingLanguage) {
+        this.programmingLanguage = mapEmptyString(programmingLanguage);
+    }
+
+    public String getKeyword() {
+        return keyword;
+    }
+
+    public void setKeyword(String keyword) {
+        this.keyword = mapEmptyString(keyword);
+    }
+
+    public String getNaturalLanguage() {
+        return naturalLanguage;
+    }
+
+    public void setNaturalLanguage(String naturalLanguage) {
+        this.naturalLanguage = mapEmptyString(naturalLanguage);
+    }
+
+    public String getLicense() {
+        return license;
+    }
+
+    public void setLicense(String license) {
+        this.license = mapEmptyString(license);
+    }
+
+    public String getAuthor() {
+        return author;
+    }
+
+    public void setAuthor(String author) {
+        this.author = mapEmptyString(author);
+    }
+
+    @Override
+    public String toString() {
+        return "programmingLanguage: " + this.programmingLanguage
+            + ", keyword: " + this.keyword
+            + ", naturalLanguage: " + this.naturalLanguage
+            + ", license: " + this.license
+            + ", author: " + this.author;
+    }
+}
diff --git a/src/main/java/at/ac/uibk/gitsearch/web/rest/GitFilesResource.java b/src/main/java/at/ac/uibk/gitsearch/web/rest/GitFilesResource.java
index 59fb41529170f63a2e5ba2bfddedf49b8a17f8a1..854e1e1ebaeffe840adbc05486b085c29be29144 100644
--- a/src/main/java/at/ac/uibk/gitsearch/web/rest/GitFilesResource.java
+++ b/src/main/java/at/ac/uibk/gitsearch/web/rest/GitFilesResource.java
@@ -44,6 +44,7 @@ public class GitFilesResource {
      * //     * @return the result of the search.
      * //
      */
+    /*
     @GetMapping("/_search/git-files/page-details")
     public GitFilesPageDetailsDTO
     gitFilesPageDetails(@RequestParam String fulltextQuery, @RequestParam String metadataProgrammingLanguage,
@@ -59,6 +60,7 @@ public class GitFilesResource {
         // return searchResultSearchRepository.findByContent(query);
         return gitFilesRepository.pageDetails(searchInput, pageSize);
     }
+    */
 
     /**
      * //     * {@code SEARCH  /_search/git-files/aggregation?query=:query} : search for the searchResult corresponding
diff --git a/src/test/java/at/ac/uibk/gitsearch/service/SearchServiceIT.java b/src/test/java/at/ac/uibk/gitsearch/service/SearchServiceIT.java
index 2db5c6ab51fcc4f150c022de363869d9a0027752..e1397ec6c002b3ffe018c13798554c9439057d1f 100644
--- a/src/test/java/at/ac/uibk/gitsearch/service/SearchServiceIT.java
+++ b/src/test/java/at/ac/uibk/gitsearch/service/SearchServiceIT.java
@@ -11,6 +11,7 @@ import static org.junit.Assert.assertTrue;
 
 import java.io.IOException;
 
+import at.ac.uibk.gitsearch.service.dto.SearchInputMetadataDTO;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 import org.mockito.MockitoAnnotations;
@@ -27,9 +28,9 @@ import at.ac.uibk.gitsearch.service.dto.SearchResultsDTO;
 @SpringBootTest(classes = GitsearchApp.class)
 public class SearchServiceIT {
 
-	@Autowired
+    @Autowired
     private SearchService searchService;
-	
+
     @BeforeEach
     public void setup() {
         MockitoAnnotations.initMocks(this);
@@ -37,70 +38,90 @@ public class SearchServiceIT {
 
     @Test
     public void testFullTextSearch() throws Exception {
-    	final String WIEN = "Wien";
-    	SearchInputDTO searchQuery = new SearchInputDTO(WIEN, null, null, null, null, null, null, null, null, 0);
-    	SearchResultsDTO searchResultPage = searchService.searchResultPage(searchQuery, 0, SearchInputDTO.PAGE_SIZE);
-    	
-    	org.junit.Assert.assertNotNull(searchResultPage.getSearchResult());
-    	org.junit.Assert.assertTrue("At least one test hit", searchResultPage.getHitCount() >= 1);
-    	org.junit.Assert.assertThat(searchResultPage.getSearchResult(), everyItem(
-    			anyOf(hasProperty("description", containsString(WIEN)),
-    				  hasProperty("title", containsString(WIEN))
-    				  // hasProperty("keywords", containsString("Wien"))
-    					)));
+        final String WIEN = "Wien";
+        final SearchInputMetadataDTO searchMetadata =
+            new SearchInputMetadataDTO(null, null, null, null, null);
+        SearchInputDTO searchQuery =
+            new SearchInputDTO(WIEN, searchMetadata, null, null, null, 0);
+        SearchResultsDTO searchResultPage =
+            searchService.searchResultPage(searchQuery, 0, SearchInputDTO.PAGE_SIZE);
+
+        org.junit.Assert.assertNotNull(searchResultPage.getSearchResult());
+        org.junit.Assert.assertTrue("At least one test hit", searchResultPage.getHitCount() >= 1);
+        org.junit.Assert.assertThat(searchResultPage.getSearchResult(), everyItem(
+            anyOf(hasProperty("description", containsString(WIEN)),
+                hasProperty("title", containsString(WIEN))
+                // hasProperty("keywords", containsString("Wien"))
+            )));
 
     }
 
     @Test
     public void testProgrammingLanguageSearch() throws Exception {
-    	SearchInputDTO searchQuery = new SearchInputDTO(null, "JAVA", null, null, null, null, null, null, null, 0);
-    	SearchResultsDTO searchResultPage = searchService.searchResultPage(searchQuery, 0, SearchInputDTO.PAGE_SIZE);
-    	
-    	assertNotNull(searchResultPage.getSearchResult());
-    	assertTrue("At least one test hit", searchResultPage.getHitCount() >= 1);
-    	assertThat(searchResultPage.getSearchResult(), everyItem(
-    			hasProperty("programmingLanguage", 
-    					hasItemInArray(containsString("JAVA")))
-    					));
+        final SearchInputMetadataDTO searchMetadata =
+            new SearchInputMetadataDTO("JAVA", null, null, null, null);
+        SearchInputDTO searchQuery =
+            new SearchInputDTO(null, searchMetadata, null, null, null, 0);
+        SearchResultsDTO searchResultPage =
+            searchService.searchResultPage(searchQuery, 0, SearchInputDTO.PAGE_SIZE);
+
+        assertNotNull(searchResultPage.getSearchResult());
+        assertTrue("At least one test hit", searchResultPage.getHitCount() >= 1);
+        assertThat(searchResultPage.getSearchResult(), everyItem(
+            hasProperty("programmingLanguage",
+                hasItemInArray(containsString("JAVA")))
+        ));
 
     }
-    
+
     @Test
     public void testCreatorSearch() throws IOException {
-    	SearchInputDTO searchQuery = new SearchInputDTO(null, null, null, null, null, "Podlipnig", null, null, null, 0);
-    	SearchResultsDTO searchResultPage = searchService.searchResultPage(searchQuery, 0, SearchInputDTO.PAGE_SIZE);
-    	
-    	org.junit.Assert.assertNotNull(searchResultPage.getSearchResult());
-    	org.junit.Assert.assertTrue("At least one test hit", searchResultPage.getHitCount() >= 1);
-    	assertThat(searchResultPage.getSearchResult(), everyItem(
-    			hasProperty("creator", hasItemInArray(hasProperty("name", containsString("Podlipnig"))))
-    					));
+        final SearchInputMetadataDTO searchMetadata =
+            new SearchInputMetadataDTO(null, null, null, null, "Podlipnig");
+        SearchInputDTO searchQuery =
+            new SearchInputDTO(null, searchMetadata, null, null, null, 0);
+        SearchResultsDTO searchResultPage =
+            searchService.searchResultPage(searchQuery, 0, SearchInputDTO.PAGE_SIZE);
+
+        org.junit.Assert.assertNotNull(searchResultPage.getSearchResult());
+        org.junit.Assert.assertTrue("At least one test hit", searchResultPage.getHitCount() >= 1);
+        assertThat(searchResultPage.getSearchResult(), everyItem(
+            hasProperty("creator", hasItemInArray(hasProperty("name", containsString("Podlipnig"))))
+        ));
 
     }
 
     @Test
     public void testKeywordSearch() throws IOException {
-    	SearchInputDTO searchQuery = new SearchInputDTO(null, null, "latex", null, null, null, null, null, null, 0);
-    	SearchResultsDTO searchResultPage = searchService.searchResultPage(searchQuery, 0, SearchInputDTO.PAGE_SIZE);
-    	
-    	org.junit.Assert.assertNotNull(searchResultPage.getSearchResult());
-    	org.junit.Assert.assertTrue("At least one test hit", searchResultPage.getHitCount() >= 1);
-    	assertThat(searchResultPage.getSearchResult(), everyItem(
-    			hasProperty("keyword", hasItemInArray(containsString("latex")))
-    					));
+        final SearchInputMetadataDTO searchMetadata =
+            new SearchInputMetadataDTO(null, "latex", null, null, null);
+        SearchInputDTO searchQuery =
+            new SearchInputDTO(null, searchMetadata, null, null, null, 0);
+        SearchResultsDTO searchResultPage =
+            searchService.searchResultPage(searchQuery, 0, SearchInputDTO.PAGE_SIZE);
+
+        org.junit.Assert.assertNotNull(searchResultPage.getSearchResult());
+        org.junit.Assert.assertTrue("At least one test hit", searchResultPage.getHitCount() >= 1);
+        assertThat(searchResultPage.getSearchResult(), everyItem(
+            hasProperty("keyword", hasItemInArray(containsString("latex")))
+        ));
 
     }
 
     @Test
     public void testLicenseSearch() throws IOException {
-    	SearchInputDTO searchQuery = new SearchInputDTO(null, null, null, null, "MIT", null, null, null, null, 0);
-    	SearchResultsDTO searchResultPage = searchService.searchResultPage(searchQuery, 0, SearchInputDTO.PAGE_SIZE);
-    	
-    	org.junit.Assert.assertNotNull(searchResultPage.getSearchResult());
-    	org.junit.Assert.assertTrue("At least one test hit", searchResultPage.getHitCount() >= 1);
-    	assertThat(searchResultPage.getSearchResult(), everyItem(
-    			hasProperty("license", containsString("MIT"))
-    					));
+        final SearchInputMetadataDTO searchMetadata =
+            new SearchInputMetadataDTO(null, null, null, "MIT", null);
+        SearchInputDTO searchQuery =
+            new SearchInputDTO(null, searchMetadata, null, null, null, 0);
+        SearchResultsDTO searchResultPage =
+            searchService.searchResultPage(searchQuery, 0, SearchInputDTO.PAGE_SIZE);
+
+        org.junit.Assert.assertNotNull(searchResultPage.getSearchResult());
+        org.junit.Assert.assertTrue("At least one test hit", searchResultPage.getHitCount() >= 1);
+        assertThat(searchResultPage.getSearchResult(), everyItem(
+            hasProperty("license", containsString("MIT"))
+        ));
 
     }
 }