Class RepositoryConformanceTestCase
java.lang.Object
org.odpi.openmetadata.conformance.beans.OpenMetadataTestCase
org.odpi.openmetadata.conformance.tests.repository.RepositoryConformanceTestCase
- Direct Known Subclasses:
TestClassificationHasSupportedEntities
,TestConsistentAttributeTypeDef
,TestConsistentTypeDef
,TestFindAttributeTypeDefsByCategory
,TestFindTypeDefByExternalId
,TestFindTypeDefsByCategory
,TestGetTypeDefGallery
,TestGraphQueries
,TestInstanceEvent
,TestMetadataCollectionId
,TestRepositoryServerIds
,TestSupportedAttributeTypeDef
,TestSupportedClassificationLifecycle
,TestSupportedEntityLifecycle
,TestSupportedEntityProxyLifecycle
,TestSupportedEntityReferenceCopyLifecycle
,TestSupportedEntityReidentify
,TestSupportedEntityRetype
,TestSupportedEntitySearch
,TestSupportedReferenceCopyClassificationLifecycle
,TestSupportedRelationshipLifecycle
,TestSupportedRelationshipReferenceCopyLifecycle
,TestSupportedRelationshipReidentify
,TestSupportedRelationshipSearch
,TestSupportedTypeDef
,TestValidTypeDefEvent
OpenMetadataTestCase is the superclass for an open metadata conformance test. It manages the
test environment and reporting.
-
Nested Class Summary
Nested classes/interfaces inherited from class org.odpi.openmetadata.conformance.beans.OpenMetadataTestCase
OpenMetadataTestCase.TestPhase
-
Field Summary
Modifier and TypeFieldDescriptionprotected OMRSRepositoryConnector
protected RepositoryConformanceWorkPad
Fields inherited from class org.odpi.openmetadata.conformance.beans.OpenMetadataTestCase
defaultProfileId, defaultRequirementId, discoveredProperties, exceptionBean, notSupportedAssertions, successfulAssertions, successMessage, testCaseDescriptionURL, testCaseId, testCaseName, unsuccessfulAssertions, workPad
-
Constructor Summary
ModifierConstructorDescriptionprotected
RepositoryConformanceTestCase
(RepositoryConformanceWorkPad workPad, Integer defaultProfileId, Integer defaultRequirementId) Typical constructor used when the test case id needs to be constructed by th test case code.protected
RepositoryConformanceTestCase
(RepositoryConformanceWorkPad workPad, String testCaseId, String testCaseName, Integer defaultProfileId, Integer defaultRequirementId) Typical constructor used when the name of the test case id is fixed -
Method Summary
Modifier and TypeMethodDescriptionaddEntityProxyToRepository
(String userId, OMRSMetadataCollection metadataCollection, EntityDef entityDef, String homeMetadataCollectionId) Adds an entity proxy of the requested type to the repository.addEntityToRepository
(String userId, OMRSMetadataCollection metadataCollection, EntityDef entityDef) Adds an entity of the requested type to the repository.protected String
buildExceptionMessage
(String testName, String methodName, String operationDescription, Map<String, String> parameters, String originalExceptionClassName, String originalExceptionMessage) protected InstanceProperties
generatePropertiesForInstance
(String userId, List<TypeDefAttribute> allTypeDefAttributes, int instanceCount) Return generated instance properties specialised for search testsprotected InstanceProperties
getAllPropertiesForInstance
(String userId, TypeDef typeDef) Return instance properties for the properties defined in the TypeDef and all of its supertypes.protected InstanceProperties
getAllUniquePropertiesForInstance
(String userId, TypeDef typeDef) Return only the unique properties for the properties defined in the TypeDef and all of its supertypes.getEntityDef
(Map<String, EntityDef> supportedEntityDefs, TypeDefLink entityIdentifiers) Returns the appropriate entity definition for the supplied entity identifiers.protected int
Return the page size to use for testing the repository.protected OMRSMetadataCollection
Return the metadata collection used to call the repository.protected InstanceProperties
getMinPropertiesForInstance
(String userId, TypeDef typeDef) Return instance properties for only the mandatory properties defined in the TypeDef and all of its supertypes.protected InstanceProperties
getPropertiesForInstance
(List<TypeDefAttribute> typeDefAttributes) Return instance properties for the properties defined in the TypeDef, but do not include properties from supertypes.protected List<TypeDefAttribute>
getPropertiesForTypeDef
(String userId, TypeDef typeDef) Recursively walk the supertype hierarchy starting at the given typeDef, and collect all the TypeDefAttributes.protected OMRSRepositoryConnector
Return the repository connector generated from the cohort registration event.protected void
For test cases that are invoked many times, count the successful invocations.protected void
For test cases that are invoked many times, count the unsuccessful invocations.protected void
logTestEnd
(String methodName) Log that the test case is ending.protected void
logTestStart
(String methodName) Log that the test case is starting.protected String
updateTestIdByType
(String typeName, String rootTestCaseId, String testCaseName) Verify that the name of the type (which forms part of the test id) is not null.Methods inherited from class org.odpi.openmetadata.conformance.beans.OpenMetadataTestCase
addDiscoveredProperty, addNotSupportedAssertion, assertCondition, assertCondition, assertObjectsAreEqual, cleanTest, cleanup, endAsynchronousTest, executeTest, executeTest, getResult, getSummary, getTestCaseDescriptionURL, getTestCaseId, getTestCaseName, isTestPassed, isTestRan, run, run, setSuccessMessage, startAsynchronousTest, toString, updateTestId, verifyCondition, verifyCondition, verifyObjectsAreEqual
-
Field Details
-
repositoryConformanceWorkPad
-
cohortRepositoryConnector
-
-
Constructor Details
-
RepositoryConformanceTestCase
protected RepositoryConformanceTestCase(RepositoryConformanceWorkPad workPad, String testCaseId, String testCaseName, Integer defaultProfileId, Integer defaultRequirementId) Typical constructor used when the name of the test case id is fixed- Parameters:
workPad
- location for workbench resultstestCaseId
- identifier of test casetestCaseName
- name of test casedefaultProfileId
- identifier of default profile (for unexpected exceptions)defaultRequirementId
- identifier of default required (for unexpected exceptions)
-
RepositoryConformanceTestCase
protected RepositoryConformanceTestCase(RepositoryConformanceWorkPad workPad, Integer defaultProfileId, Integer defaultRequirementId) Typical constructor used when the test case id needs to be constructed by th test case code.- Parameters:
workPad
- location for workbench resultsdefaultProfileId
- identifier of default profile (for unexpected exceptions)defaultRequirementId
- identifier of default required (for unexpected exceptions)
-
-
Method Details
-
logTestStart
Log that the test case is starting.- Specified by:
logTestStart
in classOpenMetadataTestCase
- Parameters:
methodName
- calling method name
-
logTestEnd
Log that the test case is ending.- Specified by:
logTestEnd
in classOpenMetadataTestCase
- Parameters:
methodName
- calling method name
-
incrementSuccessfulCount
protected void incrementSuccessfulCount()For test cases that are invoked many times, count the successful invocations. -
incrementUnsuccessfulCount
protected void incrementUnsuccessfulCount()For test cases that are invoked many times, count the unsuccessful invocations. -
updateTestIdByType
Verify that the name of the type (which forms part of the test id) is not null.- Parameters:
typeName
- name of the type being testedrootTestCaseId
- base test case IdtestCaseName
- name of the test case- Returns:
- typeName (or "null" if null so messages are displayed properly.)
-
getMaxSearchResults
protected int getMaxSearchResults()Return the page size to use for testing the repository.- Returns:
- page size
-
getRepositoryConnector
Return the repository connector generated from the cohort registration event.- Returns:
- OMRSRepositoryConnector object
- Throws:
Exception
- if the connector is not properly set up.
-
getMetadataCollection
Return the metadata collection used to call the repository.- Returns:
- OMRSMetadataCollection object
- Throws:
Exception
- if the connector is not properly set up.
-
getPropertiesForInstance
Return instance properties for the properties defined in the TypeDef, but do not include properties from supertypes.- Parameters:
typeDefAttributes
- attributes defined for a specific type- Returns:
- properties for an instance of this type
-
getAllPropertiesForInstance
protected InstanceProperties getAllPropertiesForInstance(String userId, TypeDef typeDef) throws Exception Return instance properties for the properties defined in the TypeDef and all of its supertypes.- Parameters:
userId
- calling usertypeDef
- the definition of the type- Returns:
- properties for an instance of this type
- Throws:
Exception
- problem manipulating types
-
generatePropertiesForInstance
protected InstanceProperties generatePropertiesForInstance(String userId, List<TypeDefAttribute> allTypeDefAttributes, int instanceCount) throws Exception Return generated instance properties specialised for search tests- Parameters:
userId
- calling userallTypeDefAttributes
- list of all the TDAs for typeinstanceCount
- a generator parameter for customisation of individual instance properties- Returns:
- properties for an instance of this type
- Throws:
Exception
- problem manipulating types
-
getAllUniquePropertiesForInstance
protected InstanceProperties getAllUniquePropertiesForInstance(String userId, TypeDef typeDef) throws Exception Return only the unique properties for the properties defined in the TypeDef and all of its supertypes.- Parameters:
userId
- calling usertypeDef
- the definition of the type- Returns:
- properties for an instance of this type
- Throws:
Exception
- problem manipulating types
-
getMinPropertiesForInstance
protected InstanceProperties getMinPropertiesForInstance(String userId, TypeDef typeDef) throws Exception Return instance properties for only the mandatory properties defined in the TypeDef and all of its supertypes.- Parameters:
userId
- calling usertypeDef
- the definition of the type- Returns:
- properties for an instance of this type
- Throws:
Exception
- problem manipulating types
-
getPropertiesForTypeDef
Recursively walk the supertype hierarchy starting at the given typeDef, and collect all the TypeDefAttributes. This method does not use the properties defined in the TypeDef provided since that TypeDef is from the gallery returned by the repository connector. Instead it uses the name of the TypeDef to look up the TypeDef in the RepositoryHelper - using the Known types rather than the Active types. This is to ensure consistency with the open metadata type definition.- Parameters:
userId
- the userId of the caller, needed for retrieving type definitionstypeDef
- the definition of the type- Returns:
- properties for an instance of this type
-
getEntityDef
public EntityDef getEntityDef(Map<String, EntityDef> supportedEntityDefs, TypeDefLink entityIdentifiers) Returns the appropriate entity definition for the supplied entity identifiers. This may be the entity specified, or a subclass of the entity that is supported.- Parameters:
supportedEntityDefs
- map of entity type name to entity type definitionentityIdentifiers
- guid and name of desired entity definition- Returns:
- entity definition (EntityDef)
-
addEntityToRepository
public EntityDetail addEntityToRepository(String userId, OMRSMetadataCollection metadataCollection, EntityDef entityDef) throws Exception Adds an entity of the requested type to the repository.- Parameters:
userId
- userId for the new entitymetadataCollection
- metadata connection to access the repositoryentityDef
- type of entity to create- Returns:
- new entity
- Throws:
Exception
- error in create
-
addEntityProxyToRepository
public String addEntityProxyToRepository(String userId, OMRSMetadataCollection metadataCollection, EntityDef entityDef, String homeMetadataCollectionId) throws Exception Adds an entity proxy of the requested type to the repository.- Parameters:
userId
- userId for the new entitymetadataCollection
- metadata connection to access the repositoryentityDef
- type of entity to createhomeMetadataCollectionId
- - metadataCollectionId of the repository that is master for instance- Returns:
- string - entity proxy's GUID
- Throws:
Exception
- error in create
-
buildExceptionMessage
-