arm4test_register_application_context_properties

Test Description

These tests check a number of conditions for application context names.

  • Context name > 128 (129)
  • Context name == 128
  • Context name < 128 (127)
  • Empty context name
  • Blank context name
    • Single blank character
    • Multiple blank characters
  • Trailing blank context name
  • Embedded blank context name
  • Skipped entries (non-sequential)
  • Re-arranged entries. This should have a different signature than previous
  • Duplicate entries

Preconditions

For simplicity of comparison, this test should start with an empty database.

$ arm4_daemon -vrc

Running the Test

With the daemon running, run the program.

$ arm4test_register_application_context_properties

Expected Results

Note that many errors are currenlty reported based on the assumption that all bad entries cause the application to be rejected. In many cases this just means that the entry should be ignored. There is also some grey area here in terms of what should be done for bad entries. For example, should a long name be ignored, truncated, or cause the application registration to fail? The latter is probably undesireable, but the only strictly correct solution.

Currenlt, bad entries are treated as empty entries and ignored. This may change in future releases.

$ arm4test_register_application_context_properties
Test context name size > 128...
Failed
App id = dd38ec9a1a27484587de6f49e00cc493
Failed appid should be 0
...done
Test context name size == 128...
Failed
App id = dd38ec9a1a27484587de6f49e00cc493
Failed appid should be 0
...done
Test context name size < 128...
App id = 1b8cac98be7445b28d75983dbc82b044
...done
Test empty context name...
Failed
App id = dd38ec9a1a27484587de6f49e00cc493
Failed appid should be 0
...done
Test blank context name...
Failed
App id = dd38ec9a1a27484587de6f49e00cc493
Failed appid should be 0
...done
Test multiple blank context name...
Failed
App id = dd38ec9a1a27484587de6f49e00cc493
Failed appid should be 0
...done
Test trailing blank context name...
Failed
App id = dd38ec9a1a27484587de6f49e00cc493
Failed appid should be 0
...done
Test embedded blank context name...
App id = 072091c3d2924bd0b1fa6459c0c8ac71
...done
Test skipped entries...
App id = ee6ee2c76fbc4cc69ffd6935a04f663b
...done
Test re-arranged entries...
App id = 7087e85de0f643ed8d766664c0ca6f53
...done
Test duplicate entries...
App id = ee6ee2c76fbc4cc69ffd6935a04f663b
...done
$ arm4_report
Application: property context test
        ID:072091c3d2924bd0b1fa6459c0c8ac71
        Context Name [0]: embedded blank
        No transactions defined
Application: property context test
        ID:1b8cac98be7445b28d75983dbc82b044
        Context Name [0]: 2222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222
        No transactions defined
Application: property context test
        ID:7087e85de0f643ed8d766664c0ca6f53
        Context Name [3]: entry 2
        Context Name [4]: entry 1
        No transactions defined
Application: property context test
        ID:dd38ec9a1a27484587de6f49e00cc493
        No transactions defined
Application: property context test
        ID:ee6ee2c76fbc4cc69ffd6935a04f663b
        Context Name [3]: entry 1
        Context Name [4]: entry 2
        No transactions defined
$ arm4_dump

Sequence Table
Sequence        Value
APPLICATION_INSTANCE_SEQUENCE   1
APPLICATION_SEQUENCE    1
TRANSACTION_BLOCKING_SEQUENCE   1
TRANSACTION_INSTANCE_SEQUENCE   1
TRANSACTION_SEQUENCE    1

Application Table
ID      Name    Digest  Charset
072091c3d2924bd0b1fa6459c0c8ac71        property context test   a5b59a0dcae5145d2735a45124e1e7c5        3
1b8cac98be7445b28d75983dbc82b044        property context test   70f32f92ea6876c01ea2f66cc2ac44b5        3
7087e85de0f643ed8d766664c0ca6f53        property context test   8b4c2ca9550da360394f28a0bdf29777        3
dd38ec9a1a27484587de6f49e00cc493        property context test   597aae433d5da188b40d423b3db74be6        3
ee6ee2c76fbc4cc69ffd6935a04f663b        property context test   b29056a34c4ff555784f77e3e1667240        3

Application Identity Table
ID      Name    Value
No records

Application Context Names Table
ID      Index   Name
072091c3d2924bd0b1fa6459c0c8ac71        0               embedded blank
1b8cac98be7445b28d75983dbc82b044        0               2222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222
7087e85de0f643ed8d766664c0ca6f53        3               entry 2
7087e85de0f643ed8d766664c0ca6f53        4               entry 1
ee6ee2c76fbc4cc69ffd6935a04f663b        3               entry 1
ee6ee2c76fbc4cc69ffd6935a04f663b        4               entry 2

Application Instance Table
Handle  App ID  Active
No records

Application Group Table
Handle  Group
No records

Application Instance Names Table
Handle  Name
No records

Application Context Values Table
Handle  Index   Value
No records

Transaction Table
ID      Name    Digest  App ID
No records

Transaction Identity Table
ID      Name    Value
No records

Transaction Context Names Table
ID      Index   Name
No records

Transaction Identity URI Table
ID      URI
No records

Transaction Metric Binding Table
ID      Index   Metric ID
No records

Transaction Instance Table
Handle  App ID  Tran ID App Handle      Arrival Time    Stop Time       Response Time   Status  Active  Block Start     Blocked Time
No records

Transaction Context Values Table
Handle  Index   Value
No records

Transaction Context URI Table
Handle  URI
No records

Transaction Context Metric Values Table
Handle  Slot    Format  Usage   Valid   Value
No records

Transaction Context User Table
Handle  Name    ID Valid        ID
No records

Transaction Context Diagnostic Detail Table
Handle  Detail
No records

Metric Table
ID      Name    Units   Digest  App ID  Format  Usage
No records