aboutsummaryrefslogtreecommitdiffstats
path: root/config-model/src/test/java/com/yahoo/schema/DocumentReferenceResolverTest.java
diff options
context:
space:
mode:
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.java86
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."));
}
}