package com.constellio.model.entities.schemas; import static org.assertj.core.api.Assertions.assertThat; import org.assertj.core.api.Condition; import org.junit.Test; public class SchemasTest { @Test public void validateIdentifier() { assertThat(Schemas.IDENTIFIER).has(code("id")); assertThat(Schemas.IDENTIFIER.getDataStoreCode()).isEqualTo("id"); } @Test public void validateVersion() { assertThat(Schemas.VERSION).has(code("_version_")); assertThat(Schemas.VERSION.getDataStoreCode()).isEqualTo("_version_"); } @Test public void validateSchema() { assertThat(Schemas.SCHEMA).has(code("schema")); assertThat(Schemas.SCHEMA.getDataStoreCode()).isEqualTo("schema_s"); } @Test public void validateTitle() { assertThat(Schemas.TITLE).has(code("title")); assertThat(Schemas.TITLE.getDataStoreCode()).isEqualTo("title_s"); } @Test public void validatePath() { assertThat(Schemas.PATH).has(code("path")); assertThat(Schemas.PATH.getDataStoreCode()).isEqualTo("path_ss"); } @Test public void validatePrincipalPath() { assertThat(Schemas.PRINCIPAL_PATH).has(code("principalpath")); assertThat(Schemas.PRINCIPAL_PATH.getDataStoreCode()).isEqualTo("principalpath_s"); } @Test public void validateRemovedAuthorizations() { assertThat(Schemas.REMOVED_AUTHORIZATIONS).has(code("removedauthorizations")); assertThat(Schemas.REMOVED_AUTHORIZATIONS.getDataStoreCode()).isEqualTo("removedauthorizations_ss"); } @Test public void validateIsDetachedAuthorizations() { assertThat(Schemas.IS_DETACHED_AUTHORIZATIONS).has(code("detachedauthorizations")); assertThat(Schemas.IS_DETACHED_AUTHORIZATIONS.getDataStoreCode()).isEqualTo("detachedauthorizations_s"); } @Test public void validateTokens() { assertThat(Schemas.TOKENS).has(code("tokens")); assertThat(Schemas.TOKENS.getDataStoreCode()).isEqualTo("tokens_ss"); } @Test public void validateCollection() { assertThat(Schemas.COLLECTION).has(code("collection")); assertThat(Schemas.COLLECTION.getDataStoreCode()).isEqualTo("collection_s"); } @Test public void validateLogicallyDeletedStatus() { assertThat(Schemas.LOGICALLY_DELETED_STATUS).has(code("deleted")); assertThat(Schemas.LOGICALLY_DELETED_STATUS.getDataStoreCode()).isEqualTo("deleted_s"); } @Test public void validateCreatedBy() { assertThat(Schemas.CREATED_BY).has(code("createdBy")); assertThat(Schemas.CREATED_BY.getDataStoreCode()).isEqualTo("createdById_s"); } @Test public void validateModifiedBy() { assertThat(Schemas.MODIFIED_BY).has(code("modifiedBy")); assertThat(Schemas.MODIFIED_BY.getDataStoreCode()).isEqualTo("modifiedById_s"); } @Test public void validateCreatedOn() { assertThat(Schemas.CREATED_ON).has(code("createdOn")); assertThat(Schemas.CREATED_ON.getDataStoreCode()).isEqualTo("createdOn_dt"); } @Test public void validateModifiedOn() { assertThat(Schemas.MODIFIED_ON).has(code("modifiedOn")); assertThat(Schemas.MODIFIED_ON.getDataStoreCode()).isEqualTo("modifiedOn_dt"); } @Test public void validateGetFrenchAnalyzedfield() { Metadata textSingleValue = new Metadata("parsedContent_t", MetadataValueType.TEXT, false); assertThat(textSingleValue.getAnalyzedField("fr").getDataStoreCode()).isEqualTo("parsedContent_t_fr"); Metadata textMultiValue = new Metadata("parsedContents_txt", MetadataValueType.TEXT, true); assertThat(textMultiValue.getAnalyzedField("fr").getDataStoreCode()).isEqualTo("parsedContents_txt_fr"); Metadata stringSingleValue = new Metadata("meta_s", MetadataValueType.TEXT, false); assertThat(stringSingleValue.getAnalyzedField("fr").getDataStoreCode()).isEqualTo("meta_t_fr"); Metadata stringMultivalue = new Metadata("meta_ss", MetadataValueType.TEXT, true); assertThat(stringMultivalue.getAnalyzedField("fr").getDataStoreCode()).isEqualTo("meta_txt_fr"); Metadata contentSingleValue = new Metadata("content_s", MetadataValueType.CONTENT, false); assertThat(contentSingleValue.getAnalyzedField("fr").getDataStoreCode()).isEqualTo("content_txt_fr"); Metadata contentMultiValue = new Metadata("contents_ss", MetadataValueType.CONTENT, true); assertThat(contentMultiValue.getAnalyzedField("fr").getDataStoreCode()).isEqualTo("contents_txt_fr"); } private Condition<? super Metadata> code(final String code) { return new Condition<Metadata>() { @Override public boolean matches(Metadata metadata) { assertThat(metadata.getCode()).isEqualTo("global_default_" + code); assertThat(metadata.getLocalCode()).isEqualTo(code); return true; } }; } }