# A "local.cfg" which is used by our Unit/Integration Testing framework # # Any configurations added to this file will automatically OVERRIDE configurations # of the same name in any of the DSpace *.cfg files. # # While some sample configurations are provided below, you may also copy # ANY configuration from ANY DSpace *.cfg file into this "local.cfg" to OVERRIDE # its default value. This includes any of these files: # * [dspace]/config/dspace.cfg # * Or any configuration file that is loaded into 'dspace.cfg' # (see "include =" settings near the end of dspace.cfg for full list) # # You may also specify additional configuration files to load by simply adding: # include = [file-path] # The [file-path] should be relative to the [dspace]/config/ folder, e.g. # include = modules/authentication-ldap.cfg # # Any commented out settings in this file are simply ignored. A configuration # will only override another configuration if it has the EXACT SAME key/name. # For example, including "dspace.dir" in this local.cfg will override the # default value of "dspace.dir" in the dspace.cfg file. # ########################## # SERVER CONFIGURATION # ########################## # Spring boot test: by default mock the server on the localhost (80) dspace.server.url = http://localhost # DSpace installation directory. # This is the location where you want to install DSpace. # Windows note: Please remember to use forward slashes for all paths (e.g. C:/dspace) # NOTE: COMMENTED OUT FOR TEST ENVIRONMENT, AS WE DYNAMICALLY SET THIS VIA # A SYSTEM PROPERTY (-Ddspace.dir) in the maven-surefire-plugin configuration #dspace.dir=/dspace ########################## # DATABASE CONFIGURATION # ########################## # For Unit Testing we use the H2 (in memory) database db.driver = org.h2.Driver db.dialect=org.hibernate.dialect.H2Dialect # Use a 10 second database lock timeout to avoid occasional JDBC lock timeout errors db.url = jdbc:h2:mem:test;LOCK_TIMEOUT=10000;NON_KEYWORDS=VALUE;TIME ZONE=UTC db.username = sa db.password = # H2's default schema is PUBLIC db.schema = PUBLIC ####################### # EMAIL CONFIGURATION # ####################### # SMTP mail server (allows DSpace to send email notifications) mail.server = localhost # An option is added to disable the mailserver. By default, this property is set to false # By setting mail.server.disabled = true, DSpace will not send out emails. # It will instead log the subject of the email which should have been sent # This is especially useful for development and test environments where production data is used when testing functionality. mail.server.disabled = true ######################## # HANDLE CONFIGURATION # ######################## # CNRI Handle prefix # (Defaults to a dummy/fake prefix of 123456789) handle.prefix = 123456789 # Whether to enable the DSpace handle resolver endpoints necessary for # https://github.com/DSpace/Remote-Handle-Resolver # Defaults to "false" which means these handle resolver endpoints are not available. handle.remote-resolver.enabled = true # Whether to enable the DSpace listhandles resolver that lists all available # handles for this DSpace installation. # Defaults to "false" which means is possible to obtain the list of handles # of this DSpace installation, whenever the `handle.remote-resolver.enabled = true`. handle.hide.listhandles = false ##################### # LOGLEVEL SETTINGS # ##################### loglevel.other = INFO # loglevel.other: Log level for other third-party tools/APIs used by DSpace # Possible values (from most to least info): DEBUG, INFO, WARN, ERROR, FATAL loglevel.dspace = INFO # loglevel.dspace: Log level for all DSpace-specific code (org.dspace.*) # Possible values (from most to least info): DEBUG, INFO, WARN, ERROR, FATAL ######################## # IIIF TEST SETTINGS # ######################## iiif.enabled = true event.dispatcher.default.consumers = versioning, discovery, eperson, orcidqueue, iiif, qaeventsdelete, ldnmessage ########################################### # CUSTOM UNIT / INTEGRATION TEST SETTINGS # ########################################### # custom dispatcher to be used by dspace-api IT that doesn't need SOLR event.dispatcher.exclude-discovery.class = org.dspace.event.BasicDispatcher event.dispatcher.exclude-discovery.consumers = versioning, eperson, qaeventsdelete, ldnmessage # Configure authority control for Unit Testing (in DSpaceControlledVocabularyTest) # (This overrides default, commented out settings in dspace.cfg) plugin.selfnamed.org.dspace.content.authority.ChoiceAuthority = \ org.dspace.content.authority.DCInputAuthority, \ org.dspace.content.authority.DSpaceControlledVocabulary # Configure some more Plugins for PluginTest class # NOTE: Plugins are just *interfaces*. So, here we are defining some plugins # based on java.util.List interface and giving them names. # (These are used by PluginTest) plugin.named.java.util.List = \ java.util.ArrayList = MyArrayList, \ java.util.LinkedList = MyLinkedList, \ java.util.AttributeList = MyAttributeList # Define a single Map plugin (used by PluginTest) plugin.single.java.util.Map = java.util.HashMap # Define a sequence of Collection plugins (used by PluginTest) plugin.sequence.java.util.Collection = \ java.util.ArrayList, \ java.util.LinkedList, \ java.util.Stack, \ java.util.TreeSet # Enable a test authority control on dc.language.iso field choices.plugin.dc.language.iso = common_iso_languages choices.presentation.dc.language.iso = select authority.controlled.dc.language.iso = true ########################################### # PROPERTIES USED TO TEST CONFIGURATION # # PROPERTY EXPOSURE VIA REST # ########################################### rest.properties.exposed = configuration.exposed.single.value rest.properties.exposed = configuration.exposed.array.value rest.properties.exposed = configuration.not.existing configuration.not.exposed = secret_value configuration.exposed.single.value = public_value configuration.exposed.array.value = public_value_1, public_value_2 # Test config for the authentication ip functionality authentication-ip.Staff = 5.5.5.5 authentication-ip.Student = 6.6.6.6 # Explicitly configure trusted IPs # NOTE: 127.0.0.1 (localhost) is always a trusted IP, see ClientInfoServiceImpl#parseTrustedProxyRanges useProxies = true proxies.trusted.ipranges = 7.7.7.7 proxies.trusted.include_ui_ip = true # For the tests we have to disable this health indicator because there isn't a mock server and the calculated status was DOWN management.health.solrOai.enabled = false # Enable researcher profiles and orcid synchronization for tests researcher-profile.entity-type = Person orcid.synchronization-enabled = true # Configuration settings required for Researcher Profiles # These settings ensure "dspace.object.owner" field are indexed by Authority Control choices.plugin.dspace.object.owner = EPersonAuthority choices.presentation.dspace.object.owner = suggest authority.controlled.dspace.object.owner = true # Configuration required for thorough testing of browse links webui.browse.link.1 = author:dc.contributor.* webui.browse.link.2 = subject:dc.subject.* # Enable duplicate detection for tests duplicate.enable = true ########################################### # LDN CONFIGURATIONS # ########################################### ldn.enabled = true qaevents.enabled = true ldn.ip-range.enabled = true ldn.notify.inbox.block-untrusted = true ldn.notify.inbox.block-untrusted-ip = true ########################################### # ERROR LOGGING # ########################################### # Log full stacktrace of other common 4xx errors (for easier debugging of these errors in tests) logging.server.include-stacktrace-for-httpcode = 422, 400