@Test
public void testSearchDifferentNamespaces() throws IOException {
MetadataStorage mds = getMetadataStorage();
final String ns1 = "ns1";
final NamespaceId ns1Id = new NamespaceId(ns1);
final MetadataEntity artifact = ns1Id.artifact("artifact", "1.0").toMetadataEntity();
final MetadataEntity sysArtifact = NamespaceId.SYSTEM.artifact("artifact", "1.0").toMetadataEntity();
final String multiWordKey = "multiword";
final String multiWordValue = "aV1 av2 , - , av3 - av4_av5 av6";
Metadata meta = new Metadata(SYSTEM, props(multiWordKey, multiWordValue));
MetadataRecord artifactRecord = new MetadataRecord(artifact, meta);
MetadataRecord sysArtifactRecord = new MetadataRecord(sysArtifact, meta);
mds.apply(new Update(artifact, meta));
mds.apply(new Update(sysArtifact, meta));
assertResults(mds, SearchRequest.of("aV5").addNamespace(ns1).build(), artifactRecord);
assertResults(mds, SearchRequest.of("aV5").addSystemNamespace().build(), sysArtifactRecord);
assertResults(mds, SearchRequest.of("aV5").addNamespace(ns1).addSystemNamespace().build(),
artifactRecord, sysArtifactRecord);
mds.batch(ImmutableList.of(new Drop(artifact), new Drop(sysArtifact)));
}