XML Metadata Test Coverage
The standard mappings of Company model will use the following elements and attributes.
XML Element/attribute |
Test |
Model |
Mapping |
Priority |
Status |
<!ELEMENT jdo ((package)+, (query)*, (extension)*)> |
Company |
default |
1 |
done |
|
<!ELEMENT orm ((package)+, (query)*, (extension)*)> |
Company |
default |
1 |
done |
|
<!ATTLIST orm catalog CDATA #REQUIRED> |
Company |
different mapping |
. |
. |
|
<!ATTLIST orm schema CDATA #REQUIRED> |
Company |
different mapping |
. |
. |
|
<!ELEMENT package (interface*, class*, sequence*, extension*)> |
Company |
default |
1 |
done |
|
<!ATTLIST package name CDATA #REQUIRED> |
Company |
default |
1 |
done |
|
<!ATTLIST package catalog CDATA #REQUIRED> |
Company |
different mapping |
. |
. |
|
<!ATTLIST package schema CDATA #REQUIRED> |
Company |
different mapping |
. |
. |
|
<!ELEMENT interface ((property)*, (extension*))> |
Interface model |
interface mapping |
7 |
. |
|
<!ATTLIST interface name CDATA #REQUIRED> |
Interface model |
interface mapping |
7 |
. |
|
<!ATTLIST interface table #CDATA #IMPLIED> |
Interface model |
interface mapping |
7 |
. |
|
<!ATTLIST interface catalog CDATA #IMPLIED> |
Interface model |
interface mapping |
7 |
. |
|
<!ATTLIST interface schema CDATA #IMPLIED> |
Interface model |
interface mapping |
7 |
. |
|
<!ATTLIST interface requires-extent (true|false) ?true?> |
Interface model |
interface mapping |
7 |
. |
|
<!ELEMENT property ((collection|map|array|column)? , extension*)> |
Interface model |
interface mapping |
7 |
. |
|
<!ATTLIST property name CDATA #REQUIRED> |
Interface model |
interface mapping |
7 |
. |
|
<!ATTLIST property column CDATA #IMPLIED> |
Interface model |
interface mapping |
7 |
. |
|
<!ELEMENT class (datastore-identity?, implements*, inheritance?, join*, foreign-key*, index*, field*, version?, query*, fetch-group*, extension*)> |
Company |
default |
1 |
done |
|
<!ATTLIST class name CDATA #REQUIRED> |
Company |
default |
1 |
done |
|
<!ATTLIST class catalog CDATA #REQUIRED> |
Company |
different mapping |
. |
. |
|
<!ATTLIST class schema CDATA #REQUIRED> |
Company |
different mapping |
. |
. |
|
<!ATTLIST class identity-type (application|datastore|nondurable) #IMPLIED> |
Company |
default |
1 |
done |
|
<!ATTLIST class table CDATA #IMPLIED> |
Company |
default |
1 |
done |
|
<!ATTLIST class requires-extent (true|false) ?true?> |
Company |
default |
1 |
done |
|
<!ATTLIST class persistence-capable-superclass CDATA #IMPLIED> |
n/a |
. |
. |
. |
done |
<!ATTLIST class embedded-only (true|false) #IMPLIED> |
Company |
default |
1 |
done |
|
<!ATTLIST class persistence-modifier (persistence-capable|persistence-aware|non-persistent) #IMPLIED> |
Company |
. |
. |
persistence-aware tested |
|
<!ELEMENT join (column*, index?, foreign-key?, extension*)> |
Company |
default |
1 |
. |
|
<!ATTLIST join table CDATA #IMPLIED> |
Company |
default |
1 |
different mapping |
|
<!ATTLIST join column CDATA #IMPLIED> |
Company |
default |
1 |
done |
|
<!ATTLIST join outer (true|false) ?false?> |
++ |
Company |
default |
. |
. |
<!ATTLIST join foreign-key CDATA #IMPLIED> |
Company |
default |
1 |
No such attribute! |
|
<!ATTLIST join delete-action (restrict|cascade|null|default|none) #IMPLIED> |
Company |
default |
? |
. |
|
<!ATTLIST join indexed (true|false|unique) #IMPLIED> |
Company |
default |
? |
. |
|
<!ATTLIST join unique (true|false) #IMPLIED> |
Company |
default |
? |
. |
|
<!ELEMENT datastore-identity ((column)*, (extension)*)> |
Company |
default |
1 |
done |
|
<!ATTLIST datastore-identity column CDATA #IMPLIED> |
Company |
default |
1 |
done |
|
<!ATTLIST datastore-identity strategy CDATA #IMPLIED> |
Company |
multiple mappings |
5 |
. |
|
<!ATTLIST datastore-identity sequence-name CDATA #IMPLIED> |
++ |
Company |
multiple mappings |
. |
. |
<!ATTLIST datastore-identity factory-class CDATA #IMPLIED> |
++ |
Company |
multiple mappings |
. |
. |
<!ELEMENT implements ((property-field)+, (extension)*)> |
Interface model |
interface mapping |
7 |
. |
|
<!ATTLIST implements name CDATA #REQUIRED> |
Interface model |
interface mapping |
7 |
. |
|
<!ELEMENT inheritance (discriminator?, extension*)> |
Company |
. |
. |
. |
|
<!ATTLIST inheritance strategy CDATA #IMPLIED> |
Company |
multiple mappings |
2 |
. |
|
<!ELEMENT discriminator (column?, extension*)> |
Company |
. |
3 |
. |
|
<!ATTLIST discriminator column CDATA #IMPLIED> |
Company |
multiple |
3 |
done |
|
<!ATTLIST discriminator value CDATA #IMPLIED> |
Company |
multiple |
3 |
. |
|
<!ATTLIST discriminator strategy CDATA #IMPLIED> |
Company |
multiple |
3 |
done |
|
<!ELEMENT column (extension*)> |
Company |
default |
1 |
done |
|
<!ATTLIST column name CDATA #IMPLIED> |
Company |
default |
1 |
done |
|
<!ATTLIST column target CDATA #IMPLIED> |
Company |
default |
1 |
different model |
|
<!ATTLIST column target-field CDATA #IMPLIED> |
++ |
special test xcalia |
. |
. |
. |
<!ATTLIST column jdbc-type CDATA #IMPLIED> |
Company |
default |
1 |
done |
|
<!ATTLIST column sql-type CDATA #IMPLIED> |
Company |
default |
. |
done |
|
<!ATTLIST column length CDATA #IMPLIED> |
Company |
default |
1 |
done |
|
<!ATTLIST column scale CDATA #IMPLIED> |
Company |
default |
1 |
done |
|
<!ATTLIST column allows-null CDATA #IMPLIED> |
Company |
default |
1 |
done |
|
<!ELEMENT property-field (extension*)> |
Interface model |
interface mapping |
7 |
. |
|
<!ATTLIST property-field name #REQUIRED> |
Interface model |
interface mapping |
7 |
. |
|
<!ATTLIST property-field field-name #REQUIRED> |
Interface model |
interface mapping |
7 |
. |
|
<!ELEMENT field ((collection|map|array|(column*))?, join?, element?, key?, value?, order?, embedded?, index?, foreign-key?, extension*)?> |
Company |
default |
1 |
done |
|
<!ATTLIST field name CDATA #REQUIRED> |
Company |
default |
1 |
done |
|
<!ATTLIST field persistence-modifier (persistent|transactional|none) #IMPLIED> |
Company |
default |
1 |
Only "persistent" used. New insurance model. |
|
<!ATTLIST field table CDATA #IMPLIED> |
Company |
default |
1 |
done |
|
<!ATTLIST field null-value (exception|default|none) "none"> |
Company |
different mapping |
4 |
exception requires a different test; default requires different mapping, test data; |
|
<!ATTLIST field default-fetch-group (true|false) #IMPLIED> |
different test |
Company |
different mappings |
4 |
not testable |
<!ATTLIST field embedded (true|false) #IMPLIED> |
Company |
different mappings |
4 |
element (not attribute) tested in Company model |
|
<!ATTLIST field serialized (true|false) #IMPLIED> |
Company |
different mappings |
4 |
done |
|
<!ATTLIST field dependent (true|false) #IMPLIED> |
Company |
default |
1 |
different mapping? |
|
<!ATTLIST field value-factory CDATA #IMPLIED> |
different test |
special model |
special mapping |
8 |
. |
<!ATTLIST field foreign-key CDATA #IMPLIED> |
Company |
default |
1 |
done |
|
<!ATTLIST field load-fetch-group CDATA #IMPLIED> |
Company |
different mapping |
4 |
. |
|
<!ATTLIST field fetch-depth CDATA #IMPLIED> |
n |
different test case |
. |
. |
. |
<!ELEMENT foreign-key (column*, extension*)> |
Company |
default |
1 |
done |
|
<!ATTLIST foreign-key deferred (true|false) #IMPLIED> |
different test case |
Company |
different mapping |
8 |
. |
<!ATTLIST foreign-key delete-action (cascade|restrict|null|default) #IMPLIED> |
n |
what does this mean? |
. |
. |
. |
<!ATTLIST foreign-key update-action (cascade|restrict|null|default) #IMPLIED> |
n |
what does this mean? |
. |
. |
. |
<!ATTLIST foreign-key unique (true|false) #IMPLIED> |
different test case |
Company |
different mapping |
8 |
. |
<!ATTLIST foreign-key name CDATA #IMPLIED> |
Company |
default |
1 |
done |
|
<!ELEMENT collection (extension*)> |
Company |
default |
1 |
done |
|
<!ATTLIST collection element-type CDATA #IMPLIED> |
Collections |
default Collections |
6 |
done (default mapping) |
|
<!ATTLIST collection embedded-element (true|false) #IMPLIED> |
Collections |
default Collections |
6 |
. |
|
<!ATTLIST collection dependent-element (true|false) #IMPLIED> |
Collections |
default Collections |
6 |
. |
|
<!ELEMENT map (extension)*> |
Collections |
default Collections |
6 |
done |
|
<!ATTLIST map key-type CDATA #IMPLIED> |
Collections |
default Collections |
6 |
done |
|
<!ATTLIST map embedded-key (true|false) #IMPLIED> |
Collections |
default Collections |
6 |
. |
|
<!ATTLIST map dependent-key (true|false) #IMPLIED> |
Collections |
default Collections |
6 |
. |
|
<!ATTLIST map value-type CDATA #IMPLIED> |
Collections |
default Collections |
6 |
done |
|
<!ATTLIST map embedded-value (true|false) #IMPLIED> |
Collections |
default Collections |
6 |
. |
|
<!ATTLIST map dependent-value (true|false) #IMPLIED> |
Collections |
default Collections |
6 |
. |
|
<!ELEMENT key (column*, index?, embedded?, foreign-key?, extension*)> |
Collections |
default Collections |
6 |
. |
|
<!ATTLIST key column CDATA #IMPLIED> |
Collections |
default Collections |
6 |
done |
|
<!ATTLIST key serialized (true|false) #IMPLIED> |
Company |
different mapping |
4 |
this is going away |
|
<!ATTLIST key foreign-key CDATA #IMPLIED> |
Collections |
default Collections |
6 |
. |
|
<!ELEMENT value (column*, index?, embedded?, foreign-key?, extension*)> |
Collections |
default Collections |
6 |
. |
|
<!ATTLIST value column CDATA #IMPLIED> |
Collections |
default Collections |
6 |
done |
|
<!ATTLIST value serialized (true|false) #IMPLIED> |
Company |
different mapping |
4 |
this is going away |
|
<!ATTLIST value foreign-key CDATA #IMPLIED> |
Collections |
default Collections |
6 |
. |
|
<!ELEMENT array (extension*)> |
Collections |
default Collections |
6 |
. |
|
<!ATTLIST array embedded-element (true|false) #IMPLIED> |
Collections |
default Collections |
6 |
. |
|
<!ATTLIST array dependent-element (true|false) #IMPLIED> |
Collections |
default Collections |
6 |
. |
|
<!ELEMENT element (column*, index?, embedded?, foreign-key?, extension*)> |
Company |
default |
1 |
done |
|
<!ATTLIST element column CDATA #IMPLIED> |
Company |
default |
1 |
done |
|
<!ATTLIST element serialized (true|false) #IMPLIED> |
Company |
different mapping |
4 |
this is going away |
|
<!ATTLIST element foreign-key CDATA #IMPLIED> |
Company |
default |
1 |
no such attribute |
|
<!ATTLIST element delete-action (restrict|cascade|null|default|none) #IMPLIED> |
Company |
default |
? |
. |
|
<!ATTLIST element indexed (true|false|unique) #IMPLIED> |
Company |
default |
? |
. |
|
<!ATTLIST element unique (true|false) #IMPLIED> |
Company |
default |
? |
. |
|
<!ELEMENT order (column*, extension*)> |
Collections |
. |
. |
done |
|
<!ATTLIST order column CDATA #IMPLIED> |
Collections |
. |
. |
done |
|
<!ELEMENT fetch-group (fetch-group|field)*> |
n |
. |
. |
. |
. |
<!ATTLIST fetch-group name CDATA #REQUIRED> |
n |
. |
. |
. |
. |
<!ATTLIST fetch-group post-load (true|false) #IMPLIED> |
n |
. |
. |
. |
. |
<!ELEMENT embedded (field*, owner?, extension*)> |
Company |
default |
1 |
done |
|
<!ELEMENT owner (field?, extension*)> |
n |
different model |
. |
. |
. |
<!ELEMENT sequence (extension*)> |
++ |
Company |
different mapping |
. |
. |
<!ATTLIST sequence name CDATA #REQUIRED> |
++ |
Company |
different mapping |
. |
. |
<!ATTLIST sequence sequence-name CDATA #REQUIRED> |
++ |
Company |
different mapping |
. |
. |
<!ATTLIST sequence strategy (non-transactional|transactional-contiguous|transactional-holes-allowed) #REQUIRED> |
++ |
Company |
different mapping |
. |
. |
<!ELEMENT index (column*, extension*)> |
Company |
default |
1 |
. |
|
<!ATTLIST index name CDATA #IMPLIED> |
Company |
default |
1 |
. |
|
<!ATTLIST index unique (true|false) ?false?> |
Company |
default |
1 |
. |
|
<!ELEMENT query (extension*)> |
n/a |
. |
. |
. |
. |
<!ATTLIST query name CDATA #IMPLIED> |
n/a |
. |
. |
. |
. |
<!ATTLIST query language CDATA #IMPLIED> |
n/a |
. |
. |
. |
. |
<!ATTLIST query ignore-cache CDATA #IMPLIED> |
n/a |
. |
. |
. |
. |
<!ATTLIST query unmodifiable (true|false) false> |
n/a |
. |
. |
. |
. |
<!ELEMENT extension ANY> |
n/a |
. |
. |
. |
. |
<!ATTLIST extension vendor-name CDATA #REQUIRED> |
n/a |
. |
. |
. |
. |
<!ATTLIST extension key CDATA #IMPLIED> |
n/a |
. |
. |
. |
. |
<!ATTLIST extension value CDATA #IMPLIED> |
n/a |
. |
. |
. |
. |
++ Additional functionality beyond basic CompletenessTest required to adequately test.
Go to Chapter18TestCoverageNotes.