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)*)>

CompletenessTest

Company

default

1

done

<!ELEMENT orm ((package)+, (query)*, (extension)*)>

CompletenessTest

Company

default

1

done

<!ATTLIST orm catalog CDATA #REQUIRED>

CompletenessTest

Company

different mapping

.

.

<!ATTLIST orm schema CDATA #REQUIRED>

CompletenessTest

Company

different mapping

.

.

<!ELEMENT package (interface*, class*, sequence*, extension*)>

CompletenessTest

Company

default

1

done

<!ATTLIST package name CDATA #REQUIRED>

CompletenessTest

Company

default

1

done

<!ATTLIST package catalog CDATA #REQUIRED>

CompletenessTest

Company

different mapping

.

.

<!ATTLIST package schema CDATA #REQUIRED>

CompletenessTest

Company

different mapping

.

.

<!ELEMENT interface ((property)*, (extension*))>

InterfaceTest

Interface model

interface mapping

7

.

<!ATTLIST interface name CDATA #REQUIRED>

InterfaceTest

Interface model

interface mapping

7

.

<!ATTLIST interface table #CDATA #IMPLIED>

InterfaceTest

Interface model

interface mapping

7

.

<!ATTLIST interface catalog CDATA #IMPLIED>

InterfaceTest

Interface model

interface mapping

7

.

<!ATTLIST interface schema CDATA #IMPLIED>

InterfaceTest

Interface model

interface mapping

7

.

<!ATTLIST interface requires-extent (true

false) ?true?>

InterfaceTest

Interface model

interface mapping

7

.

<!ELEMENT property ((collection

map

array

column)? , extension*)>

InterfaceTest

Interface model

interface mapping

7

.

<!ATTLIST property name CDATA #REQUIRED>

InterfaceTest

Interface model

interface mapping

7

.

<!ATTLIST property column CDATA #IMPLIED>

InterfaceTest

Interface model

interface mapping

7

.

<!ELEMENT class (datastore-identity?, implements*, inheritance?, join*, foreign-key*, index*, field*, version?, query*, fetch-group*, extension*)>

CompletenessTest

Company

default

1

done

<!ATTLIST class name CDATA #REQUIRED>

CompletenessTest

Company

default

1

done

<!ATTLIST class catalog CDATA #REQUIRED>

CompletenessTest

Company

different mapping

.

.

<!ATTLIST class schema CDATA #REQUIRED>

CompletenessTest

Company

different mapping

.

.

<!ATTLIST class identity-type (application

datastore

nondurable) #IMPLIED>

CompletenessTest

Company

default

1

done

<!ATTLIST class table CDATA #IMPLIED>

CompletenessTest

Company

default

1

done

<!ATTLIST class requires-extent (true

false) ?true?>

CompletenessTest

Company

default

1

done

<!ATTLIST class persistence-capable-superclass CDATA #IMPLIED>

n/a

.

.

.

done

<!ATTLIST class embedded-only (true

false) #IMPLIED>

CompletenessTest

Company

default

1

done

<!ATTLIST class persistence-modifier (persistence-capable

persistence-aware

non-persistent) #IMPLIED>

CompletenessTest

Company

.

.

persistence-aware tested

<!ELEMENT join (column*, index?, foreign-key?, extension*)>

CompletenessTest

Company

default

1

.

<!ATTLIST join table CDATA #IMPLIED>

CompletenessTest

Company

default

1

different mapping

<!ATTLIST join column CDATA #IMPLIED>

CompletenessTest

Company

default

1

done

<!ATTLIST join outer (true

false) ?false?>

++

Company

default

.

.

<!ATTLIST join foreign-key CDATA #IMPLIED> |CompletenessTest|Company|default|1|No such attribute!

<!ATTLIST join delete-action (restrict

cascade

null

default

none) #IMPLIED>

CompletenessTest

Company

default

?

.

<!ATTLIST join indexed (true

false

unique) #IMPLIED>

CompletenessTest

Company

default

?

.

<!ATTLIST join unique (true

false) #IMPLIED>

CompletenessTest

Company

default

?

.

<!ELEMENT datastore-identity ((column)*, (extension)*)>

CompletenessTest

Company

default

1

done

<!ATTLIST datastore-identity column CDATA #IMPLIED>

CompletenessTest

Company

default

1

done

<!ATTLIST datastore-identity strategy CDATA #IMPLIED>

CompletenessTest

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)*)>

InterfaceTest

Interface model

interface mapping

7

.

<!ATTLIST implements name CDATA #REQUIRED>

InterfaceTest

Interface model

interface mapping

7

.

<!ELEMENT inheritance (discriminator?, extension*)>

CompletenessTest

Company

.

.

.

<!ATTLIST inheritance strategy CDATA #IMPLIED>

CompletenessTest

Company

multiple mappings

2

.

<!ELEMENT discriminator (column?, extension*)>

CompletenessTest

Company

.

3

.

<!ATTLIST discriminator column CDATA #IMPLIED>

CompletenessTest

Company

multiple

3

done

<!ATTLIST discriminator value CDATA #IMPLIED>

CompletenessTest

Company

multiple

3

.

<!ATTLIST discriminator strategy CDATA #IMPLIED>

CompletenessTest

Company

multiple

3

done

<!ELEMENT column (extension*)>

CompletenessTest

Company

default

1

done

<!ATTLIST column name CDATA #IMPLIED>

CompletenessTest

Company

default

1

done

<!ATTLIST column target CDATA #IMPLIED>

CompletenessTest

Company

default

1

different model

<!ATTLIST column target-field CDATA #IMPLIED>

++

special test xcalia

.

.

.

<!ATTLIST column jdbc-type CDATA #IMPLIED>

CompletenessTest

Company

default

1

done

<!ATTLIST column sql-type CDATA #IMPLIED>

CompletenessTest

Company

default

.

done

<!ATTLIST column length CDATA #IMPLIED>

CompletenessTest

Company

default

1

done

<!ATTLIST column scale CDATA #IMPLIED>

CompletenessTest

Company

default

1

done

<!ATTLIST column allows-null CDATA #IMPLIED>

CompletenessTest

Company

default

1

done

<!ELEMENT property-field (extension*)>

InterfaceTest

Interface model

interface mapping

7

.

<!ATTLIST property-field name #REQUIRED>

InterfaceTest

Interface model

interface mapping

7

.

<!ATTLIST property-field field-name #REQUIRED>

InterfaceTest

Interface model

interface mapping

7

.

<!ELEMENT field ((collection

map

array

(column*))?, join?, element?, key?, value?, order?, embedded?, index?, foreign-key?, extension*)?>

CompletenessTest

Company

default

1

done

<!ATTLIST field name CDATA #REQUIRED>

CompletenessTest

Company

default

1

done

<!ATTLIST field persistence-modifier (persistent

transactional

none) #IMPLIED>

CompletenessTest

Company

default

1

Only "persistent" used. New insurance model.

<!ATTLIST field table CDATA #IMPLIED>

CompletenessTest

Company

default

1

done

<!ATTLIST field null-value (exception

default

none) "none">

CompletenessTest

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>

CompletenessTest

Company

different mappings

4

element (not attribute) tested in Company model

<!ATTLIST field serialized (true

false) #IMPLIED>

CompletenessTest

Company

different mappings

4

done

<!ATTLIST field dependent (true

false) #IMPLIED>

CompletenessTest

Company

default

1

different mapping?

<!ATTLIST field value-factory CDATA #IMPLIED>

different test

special model

special mapping

8

.

<!ATTLIST field foreign-key CDATA #IMPLIED>

CompletenessTest

Company

default

1

done

<!ATTLIST field load-fetch-group CDATA #IMPLIED>

CompletenessTest

Company

different mapping

4

.

<!ATTLIST field fetch-depth CDATA #IMPLIED>

n

different test case

.

.

.

<!ELEMENT foreign-key (column*, extension*)>

CompletenessTest

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>

CompletenessTest

Company

default

1

done

<!ELEMENT collection (extension*)>

CompletenessTest

Company

default

1

done

<!ATTLIST collection element-type CDATA #IMPLIED>

CompletenessTest

Collections

default Collections

6

done (default mapping)

<!ATTLIST collection embedded-element (true

false) #IMPLIED>

CompletenessTest

Collections

default Collections

6

.

<!ATTLIST collection dependent-element (true

false) #IMPLIED>

CompletenessTest

Collections

default Collections

6

.

<!ELEMENT map (extension)*>

CompletenessTest

Collections

default Collections

6

done

<!ATTLIST map key-type CDATA #IMPLIED>

CompletenessTest

Collections

default Collections

6

done

<!ATTLIST map embedded-key (true

false) #IMPLIED>

CompletenessTest

Collections

default Collections

6

.

<!ATTLIST map dependent-key (true

false) #IMPLIED>

CompletenessTest

Collections

default Collections

6

.

<!ATTLIST map value-type CDATA #IMPLIED>

CompletenessTest

Collections

default Collections

6

done

<!ATTLIST map embedded-value (true

false) #IMPLIED>

CompletenessTest

Collections

default Collections

6

.

<!ATTLIST map dependent-value (true

false) #IMPLIED>

CompletenessTest

Collections

default Collections

6

.

<!ELEMENT key (column*, index?, embedded?, foreign-key?, extension*)>

CompletenessTest

Collections

default Collections

6

.

<!ATTLIST key column CDATA #IMPLIED>

CompletenessTest

Collections

default Collections

6

done

<!ATTLIST key serialized (true

false) #IMPLIED>

CompletenessTest

Company

different mapping

4

this is going away

<!ATTLIST key foreign-key CDATA #IMPLIED>

CompletenessTest

Collections

default Collections

6

.

<!ELEMENT value (column*, index?, embedded?, foreign-key?, extension*)>

CompletenessTest

Collections

default Collections

6

.

<!ATTLIST value column CDATA #IMPLIED>

CompletenessTest

Collections

default Collections

6

done

<!ATTLIST value serialized (true

false) #IMPLIED>

CompletenessTest

Company

different mapping

4

this is going away

<!ATTLIST value foreign-key CDATA #IMPLIED>

CompletenessTest

Collections

default Collections

6

.

<!ELEMENT array (extension*)>

CompletenessTest

Collections

default Collections

6

.

<!ATTLIST array embedded-element (true

false) #IMPLIED>

CompletenessTest

Collections

default Collections

6

.

<!ATTLIST array dependent-element (true

false) #IMPLIED>

CompletenessTest

Collections

default Collections

6

.

<!ELEMENT element (column*, index?, embedded?, foreign-key?, extension*)>

CompletenessTest

Company

default

1

done

<!ATTLIST element column CDATA #IMPLIED>

CompletenessTest

Company

default

1

done

<!ATTLIST element serialized (true

false) #IMPLIED>

CompletenessTest

Company

different mapping

4

this is going away

<!ATTLIST element foreign-key CDATA #IMPLIED>

CompletenessTest

Company

default

1

no such attribute

<!ATTLIST element delete-action (restrict

cascade

null

default

none) #IMPLIED>

CompletenessTest

Company

default

?

.

<!ATTLIST element indexed (true

false

unique) #IMPLIED>

CompletenessTest

Company

default

?

.

<!ATTLIST element unique (true

false) #IMPLIED>

CompletenessTest

Company

default

?

.

<!ELEMENT order (column*, extension*)>

TestListCollections

Collections

.

.

done

<!ATTLIST order column CDATA #IMPLIED>

TestListCollections

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*)>

CompletenessTest

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*)>

CompletenessTest

Company

default

1

.

<!ATTLIST index name CDATA #IMPLIED>

CompletenessTest

Company

default

1

.

<!ATTLIST index unique (true

false) ?false?>

CompletenessTest

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.

  • No labels