diff options
Diffstat (limited to 'config-model/src/test/java/com/yahoo/schema/DocumentReferenceResolverTest.java')
-rw-r--r-- | config-model/src/test/java/com/yahoo/schema/DocumentReferenceResolverTest.java | 86 |
1 files changed, 39 insertions, 47 deletions
diff --git a/config-model/src/test/java/com/yahoo/schema/DocumentReferenceResolverTest.java b/config-model/src/test/java/com/yahoo/schema/DocumentReferenceResolverTest.java index 1592060f466..bcf8c6045b3 100644 --- a/config-model/src/test/java/com/yahoo/schema/DocumentReferenceResolverTest.java +++ b/config-model/src/test/java/com/yahoo/schema/DocumentReferenceResolverTest.java @@ -6,17 +6,13 @@ import com.yahoo.document.DataType; import com.yahoo.documentmodel.NewDocumentReferenceDataType; import com.yahoo.schema.document.SDDocumentType; import com.yahoo.schema.document.SDField; -import org.junit.Rule; -import org.junit.Test; -import org.junit.rules.ExpectedException; +import org.junit.jupiter.api.Test; import java.util.Map; import static java.util.Arrays.asList; import static java.util.Collections.singletonList; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertSame; -import static org.junit.Assert.assertTrue; +import static org.junit.jupiter.api.Assertions.*; /** * @author bjorncs @@ -25,12 +21,9 @@ public class DocumentReferenceResolverTest { private static final String BAR = "bar"; private static final String FOO = "foo"; - @SuppressWarnings("deprecation") - @Rule - public final ExpectedException exceptionRule = ExpectedException.none(); @Test - public void reference_from_one_document_to_another_is_resolved() { + void reference_from_one_document_to_another_is_resolved() { // Create bar document with no fields Schema barSchema = new Schema(BAR, MockApplicationPackage.createEmpty()); SDDocumentType barDocument = new SDDocumentType(BAR, barSchema); @@ -40,7 +33,7 @@ public class DocumentReferenceResolverTest { Schema fooSchema = new Schema(FOO, MockApplicationPackage.createEmpty()); SDDocumentType fooDocument = new SDDocumentType("foo", fooSchema); SDField fooRefToBarField = new SDField - (fooDocument, "bar_ref", new NewDocumentReferenceDataType(barDocument.getDocumentType())); + (fooDocument, "bar_ref", new NewDocumentReferenceDataType(barDocument.getDocumentType())); AttributeUtils.addAttributeAspect(fooRefToBarField); SDField irrelevantField = new SDField(fooDocument, "irrelevant_stuff", DataType.INT); fooDocument.addField(fooRefToBarField); @@ -59,45 +52,44 @@ public class DocumentReferenceResolverTest { @SuppressWarnings("deprecation") @Test - public void throws_user_friendly_exception_if_referenced_document_does_not_exist() { - // Create foo document with document reference to non-existing document bar - Schema fooSchema = new Schema(FOO, MockApplicationPackage.createEmpty()); - SDDocumentType fooDocument = new SDDocumentType("foo", fooSchema); - SDField fooRefToBarField = new SDField( - fooDocument, - "bar_ref", NewDocumentReferenceDataType.forDocumentName("bar")); - AttributeUtils.addAttributeAspect(fooRefToBarField); - fooDocument.addField(fooRefToBarField); - fooSchema.addDocument(fooDocument); - - DocumentReferenceResolver resolver = new DocumentReferenceResolver(singletonList(fooSchema)); - - exceptionRule.expect(IllegalArgumentException.class); - exceptionRule.expectMessage( - "Invalid document reference 'bar_ref': Could not find document type 'bar'"); - resolver.resolveReferences(fooDocument); + void throws_user_friendly_exception_if_referenced_document_does_not_exist() { + Throwable exception = assertThrows(IllegalArgumentException.class, () -> { + // Create foo document with document reference to non-existing document bar + Schema fooSchema = new Schema(FOO, MockApplicationPackage.createEmpty()); + SDDocumentType fooDocument = new SDDocumentType("foo", fooSchema); + SDField fooRefToBarField = new SDField( + fooDocument, + "bar_ref", NewDocumentReferenceDataType.forDocumentName("bar")); + AttributeUtils.addAttributeAspect(fooRefToBarField); + fooDocument.addField(fooRefToBarField); + fooSchema.addDocument(fooDocument); + + DocumentReferenceResolver resolver = new DocumentReferenceResolver(singletonList(fooSchema)); + resolver.resolveReferences(fooDocument); + }); + assertTrue(exception.getMessage().contains("Invalid document reference 'bar_ref': Could not find document type 'bar'")); } @Test - public void throws_exception_if_reference_is_not_an_attribute() { - // Create bar document with no fields - Schema barSchema = new Schema(BAR, MockApplicationPackage.createEmpty()); - SDDocumentType barDocument = new SDDocumentType("bar", barSchema); - barSchema.addDocument(barDocument); - - // Create foo document with document reference to bar - Schema fooSchema = new Schema(FOO, MockApplicationPackage.createEmpty()); - SDDocumentType fooDocument = new SDDocumentType("foo", fooSchema); - SDField fooRefToBarField = new SDField - (fooDocument, "bar_ref", new NewDocumentReferenceDataType(barDocument.getDocumentType())); - fooDocument.addField(fooRefToBarField); - fooSchema.addDocument(fooDocument); - - DocumentReferenceResolver resolver = new DocumentReferenceResolver(asList(fooSchema, barSchema)); - exceptionRule.expect(IllegalArgumentException.class); - exceptionRule.expectMessage( - "The field 'bar_ref' is an invalid document reference. The field must be an attribute."); - resolver.resolveReferences(fooDocument); + void throws_exception_if_reference_is_not_an_attribute() { + Throwable exception = assertThrows(IllegalArgumentException.class, () -> { + // Create bar document with no fields + Schema barSchema = new Schema(BAR, MockApplicationPackage.createEmpty()); + SDDocumentType barDocument = new SDDocumentType("bar", barSchema); + barSchema.addDocument(barDocument); + + // Create foo document with document reference to bar + Schema fooSchema = new Schema(FOO, MockApplicationPackage.createEmpty()); + SDDocumentType fooDocument = new SDDocumentType("foo", fooSchema); + SDField fooRefToBarField = new SDField + (fooDocument, "bar_ref", new NewDocumentReferenceDataType(barDocument.getDocumentType())); + fooDocument.addField(fooRefToBarField); + fooSchema.addDocument(fooDocument); + + DocumentReferenceResolver resolver = new DocumentReferenceResolver(asList(fooSchema, barSchema)); + resolver.resolveReferences(fooDocument); + }); + assertTrue(exception.getMessage().contains("The field 'bar_ref' is an invalid document reference. The field must be an attribute.")); } } |