Add in a timestamp root schema
Get schema by file
Change tests to use a `default_schema` object

- Still a bit crufty, but less crufty than dumping the whole thing each time
Move `get_schema` into a libs/schemas

- first of many glorious schema utils functions m8
Make the schema return object a bit more obvious and descriptive
Merge pull request #155 from alphagov/jasonschemas

Add base 'timestamp' schema to datasets model
Adding in the monitoring schema

- Just `uptime`, `downtime`, and a timestamp for now
- Using the $ref feature of json schemas for timestamps, TODO: figure out how this works (inline with/open/json.load?)
Add `monitoring` as a data-type within the fixtures

- There's probably a better way of doing this, but the plan is to peg schemas to names/type keys of some kind for now
Add a simple switch to pull back various different kinds of schema

- Obviously not a sustainable model for schema sniffing, but okay for two types?
- There must be a better way to do inheritance than this, but it's good to have something to test against
Update list view tests to include monitoring

- Well chonky, but should show a switch in schema, based on data-type
require _timestamp as well
Rewrite lib/schemas to build a schema, rather than return a single one

- Chonk: Manually setting out a 'defined' list
- Loads in additional schema values then appends types to the 'allOf' property if found
Remove duplication of 'required' field in aggregated schema
Four spaces not two for json
Return schema by data_type

- just say 'schema for <type/data-set>' for now in the description
Reference property '_timestamp' as '_timestamp' not 'timestamp'
Show full diffs in nose

- culled from http://stackoverflow.com/questions/14493670/how-to-set-self-maxdiff-in-nose-to-get-full-diff-output
- Was really useful for expected schema vs returned
Modify the default schema in data-set view tests

- Now passes the name of the data-set to the retreiver function, so we get the name in the description
- The name is overwritten several times so the function is called in an assertion loop, feels weird.
- Probably not sustainable to do this. TODO: bounce to separate test class, but only ask for certain parts of the fixture to be matched here?
Add in a monitoring schema to the view test case

- pretty chonky to just shove the schema into the class as a dict
- feels dumb to switch in a loop, but it does test accurately
Merge pull request #156 from alphagov/monitoring_schema

Add JSON Schema for monitoring data-type [#72764046]