Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer sapien purus, congue a tincidunt non, mollis vitae diam. Fusce pharetra massa interdum nisl ultrices mattis. Cras eget est ultricies magna auctor condimentum. Phasellus sed elit erat, a ultricies arcu. Proin vitae volutpat ante. Quisque porta tempor elit, non aliquam tortor sodales nec. Sed imperdiet metus sed orci adipiscing faucibus. Nulla facilisi. Nulla massa tortor, dapibus a vehicula vel, cursus vel mi. Integer sed lacus velit. Etiam dignissim varius turpis ut ullamcorper. Integer lobortis imperdiet dui, ut porta nulla interdum ac. Nulla neque lorem, bibendum et venenatis a, convallis in arcu. In sagittis neque ac mauris venenatis id elementum elit lacinia. Phasellus porttitor turpis eu ipsum pharetra eleifend. Integer ac magna sit amet mi luctus scelerisque at a odio. Quisque sed mi nibh, ac pretium felis. Nunc congue sapien sit amet ipsum elementum ac euismod justo mollis. Etiam dictum elementum libero sed sagittis.
Lazy.random() uses the pattern described further.
Random generator uses a pattern to generate a random sequence based on given pattern. The supported characters are (can appear in pattern string):
We will observe four groovy scripts used in database table connector, one is generic, the second is specific for MySQL database, third is private generic and fourth is private for MySQL database contains connection username/password.
Contains the test public settings.
/* +---------------------------------------------------+
* ----------- Contract Tests configuration ------------
* +---------------------------------------------------+
*/
import org.identityconnectors.contract.data.groovy.Lazy
import org.identityconnectors.contract.data.groovy.Random
import org.identityconnectors.contract.data.groovy.Get
import org.identityconnectors.contract.exceptions.ObjectNotFoundException;
// Connector WRONG configuration for ValidateApiOpTests
connector.i1.wrong.host=""
connector.i2.wrong.login=""
connector.i3.wrong.password=""
testsuite {
// path to bundle jar - property is set by ant - leave it as it is
bundleJar=System.getProperty("bundleJar")
bundleName=System.getProperty("bundleName")
bundleVersion=System.getProperty("bundleVersion")
connectorName="org.identityconnectors.databasetable.DatabaseTableConnector"
// ValidateApiOpTests:
Validate.iterations="3"
// AuthenticationApiOpTests:
Authentication.__ACCOUNT__.username=Lazy.get("i0.Authentication.__ACCOUNT__.__NAME__")
Authentication.__ACCOUNT__.wrong.password=new org.identityconnectors.common.security.GuardedString("bogus".toCharArray())
// SyncApiOpTests:
Sync.disable.delete=true
// SchemaApiOpTests:
Schema.oclasses=['__ACCOUNT__']
Schema.attributes.__ACCOUNT__.oclasses=['__NAME__', '__PASSWORD__', 'MANAGER',
'MIDDLENAME', 'FIRSTNAME', 'LASTNAME', 'EMAIL', 'DEPARTMENT', 'TITLE', 'AGE', 'SALARY', 'JPEGPHOTO']
Schema.__NAME__.attribute.__ACCOUNT__.oclasses=[
type: java.lang.String.class,
readable: true,
createable: true,
updateable: true,
required: true,
multiValue: false,
returnedByDefault: true
]
Schema.__PASSWORD__.attribute.__ACCOUNT__.oclasses=[
type: "org.identityconnectors.common.security.GuardedString",
readable: false,
createable: true,
updateable: true,
required: true,
multiValue: false,
returnedByDefault: true
]
// many attributes have similar values
Schema.common.attribute=[
type: java.lang.String.class,
readable: true,
createable: true,
updateable: true,
required: false,
multiValue: false,
returnedByDefault: true
]
Schema.MIDDLENAME.attribute.__ACCOUNT__.oclasses=Lazy.get("testsuite.Schema.common.attribute")
Schema.FIRSTNAME.attribute.__ACCOUNT__.oclasses=Lazy.get("testsuite.Schema.common.attribute")
Schema.MANAGER.attribute.__ACCOUNT__.oclasses=Lazy.get("testsuite.Schema.common.attribute")
Schema.EMAIL.attribute.__ACCOUNT__.oclasses=Lazy.get("testsuite.Schema.common.attribute")
Schema.DEPARTMENT.attribute.__ACCOUNT__.oclasses=Lazy.get("testsuite.Schema.common.attribute")
Schema.TITLE.attribute.__ACCOUNT__.oclasses=Lazy.get("testsuite.Schema.common.attribute")
Schema.LASTNAME.attribute.__ACCOUNT__.oclasses=Lazy.get("testsuite.Schema.common.attribute")
Schema.AGE.attribute.__ACCOUNT__.oclasses=[
type: java.lang.Integer.class,
readable: true,
createable: true,
updateable: true,
required: false,
multiValue: false,
returnedByDefault: true
]
Schema.SALARY.attribute.__ACCOUNT__.oclasses=[
type: "java.math.BigDecimal",
readable: true,
createable: true,
updateable: true,
required: false,
multiValue: false,
returnedByDefault: true
]
Schema.JPEGPHOTO.attribute.__ACCOUNT__.oclasses=[
type: "[B",
readable: true,
createable: true,
updateable: true,
required: false,
multiValue: false,
returnedByDefault: false
]
// object classes supported by operations
Schema.operations=[
GetApiOp: ['__ACCOUNT__'],
SchemaApiOp: ['__ACCOUNT__'],
ValidateApiOp: ['__ACCOUNT__'],
CreateApiOp: ['__ACCOUNT__'],
SearchApiOp: ['__ACCOUNT__'],
DeleteApiOp: ['__ACCOUNT__'],
ScriptOnConnectorApiOp: ['__ACCOUNT__'],
UpdateApiOp: ['__ACCOUNT__'],
AuthenticationApiOp: ['__ACCOUNT__'],
TestApiOp: ['__ACCOUNT__'],
SyncApiOp: [] // sync column is missing in the tables.
]
} // testsuite
// ATTRIBUTES' VALUES:
// longer bytearray value
JPEGPHOTO=Lazy.random("????????????????????????????????????????", byte[].class)
Contains the configuration specific public settings.
/* +---------------------------------------------------+
* ----------- Contract Tests configuration ------------
* +---------------------------------------------------+
*/
import org.identityconnectors.contract.data.groovy.Lazy
import org.identityconnectors.contract.data.groovy.Random
import org.identityconnectors.contract.data.groovy.Get
import org.identityconnectors.contract.exceptions.ObjectNotFoundException;
// Connector configuration
connector{
driver="com.mysql.jdbc.Driver"
keyColumn="ACCOUNTID"
DBTable="idm_sync"
}
Could contains the private settings.
/* +---------------------------------------------------+
* ----------- Contract Tests configuration ------------
* +---------------------------------------------------+
*/
Contains the configuration private settings like a database url and private credentials.
/* +---------------------------------------------------+
* ----------- Contract Tests configuration ------------
* +---------------------------------------------------+
*/
import org.identityconnectors.contract.data.groovy.Lazy
import org.identityconnectors.contract.data.groovy.Random
import org.identityconnectors.contract.data.groovy.Get
connectionUrl="jdbc:mysql://localhost/database"
login="loginname"
password="password"
}