jenkins-bot has submitted this change and it was merged. ( https://gerrit.wikimedia.org/r/364809 )
Change subject: Fix up tests and adapt schemas. ...................................................................... Fix up tests and adapt schemas. We have tests that verify that all the schemas contain some common properties for their specific type of schema. The tests were broken, now they are fixed and the schemas are adapted to pass the tests. Change-Id: If432630d3e013fac5ed8dc2da45b045055725a98 --- M jsonschema/mediawiki/job/1.yaml M test/jsonschema/index.js D test/jsonschema/mediawiki/mediawiki_common_schema.yaml M test/jsonschema/mediawiki/page/page_common_schema.yaml M test/jsonschema/mediawiki/revision/revision_common_schema.yaml M test/jsonschema/mediawiki/user/user_common_schema.yaml 6 files changed, 106 insertions(+), 48 deletions(-) Approvals: Mobrovac: Looks good to me, approved Ottomata: Looks good to me, but someone else must approve jenkins-bot: Verified diff --git a/jsonschema/mediawiki/job/1.yaml b/jsonschema/mediawiki/job/1.yaml index 4e375f5..630df4a 100644 --- a/jsonschema/mediawiki/job/1.yaml +++ b/jsonschema/mediawiki/job/1.yaml @@ -44,6 +44,10 @@ - dt - domain + database: + description: The name of the wiki database this event belongs to. + type: string + type: description: type of the job type: string @@ -87,6 +91,7 @@ required: - meta + - database - type - page_namespace - page_title \ No newline at end of file diff --git a/test/jsonschema/index.js b/test/jsonschema/index.js index 4b33a85..c3d1e07 100644 --- a/test/jsonschema/index.js +++ b/test/jsonschema/index.js @@ -35,12 +35,7 @@ // Go recursively return Object.keys(example) .filter((key) => key !== 'title' && key !== 'description') - .forEach((key) => { - if (example.required.indexOf(key) !== -1 - || schema.required.indexOf(key) !== -1) { - assert.isSuperSchema(schema[key], example[key], path + '.' + key) - } - }); + .forEach((key) => assert.isSuperSchema(schema[key], example[key], path + '.' + key)); } else if (schema !== example) { throw new assert.AssertionError({ message: `Error at path: ${path}`, diff --git a/test/jsonschema/mediawiki/mediawiki_common_schema.yaml b/test/jsonschema/mediawiki/mediawiki_common_schema.yaml deleted file mode 100644 index 9813e5c..0000000 --- a/test/jsonschema/mediawiki/mediawiki_common_schema.yaml +++ /dev/null @@ -1,41 +0,0 @@ -title: Mediawiki Common Schema -description: Used to validate that all mediawiki events have common properties -$schema: http://json-schema.org/draft-04/schema# -type: object -properties: - ### Mediawiki entity fields. All Mediawiki entity events should have these. - database: - type: string - - performer: - type: object - properties: - user_id: - type: integer - user_text: - type: string - user_groups: - type: array - items: - type: string - user_is_bot: - type: boolean - user_registration_dt: - description: > - The datetime of the user account registration. - Not present for anonymous users or if missing in the MW database. - type: string - format: date-time - user_edit_count: - description: > - The number of edits this user has made at the time this revision is created. - Not present for anonymous users. - type: integer - minimum: 0 - required: - - user_text - - user_groups - - user_is_bot - -required: - - database diff --git a/test/jsonschema/mediawiki/page/page_common_schema.yaml b/test/jsonschema/mediawiki/page/page_common_schema.yaml index 0ce9d70..ae5f6eb 100644 --- a/test/jsonschema/mediawiki/page/page_common_schema.yaml +++ b/test/jsonschema/mediawiki/page/page_common_schema.yaml @@ -3,9 +3,42 @@ $schema: http://json-schema.org/draft-04/schema# type: object properties: + database: + type: string + + performer: + type: object + properties: + user_id: + type: integer + user_text: + type: string + user_groups: + type: array + items: + type: string + user_is_bot: + type: boolean + user_registration_dt: + description: > + The datetime of the user account registration. + Not present for anonymous users or if missing in the MW database. + type: string + format: date-time + user_edit_count: + description: > + The number of edits this user has made at the time this revision is created. + Not present for anonymous users. + type: integer + minimum: 0 + required: + - user_text + - user_groups + - user_is_bot + page_id: type: integer - minimum: 1 + # minimum: 1 It's different for the page-restriction-change schema. page_title: type: string diff --git a/test/jsonschema/mediawiki/revision/revision_common_schema.yaml b/test/jsonschema/mediawiki/revision/revision_common_schema.yaml index f677ac6..6574d27 100644 --- a/test/jsonschema/mediawiki/revision/revision_common_schema.yaml +++ b/test/jsonschema/mediawiki/revision/revision_common_schema.yaml @@ -3,6 +3,39 @@ $schema: http://json-schema.org/draft-04/schema# type: object properties: + database: + type: string + + performer: + type: object + properties: + user_id: + type: integer + user_text: + type: string + user_groups: + type: array + items: + type: string + user_is_bot: + type: boolean + user_registration_dt: + description: > + The datetime of the user account registration. + Not present for anonymous users or if missing in the MW database. + type: string + format: date-time + user_edit_count: + description: > + The number of edits this user has made at the time this revision is created. + Not present for anonymous users. + type: integer + minimum: 0 + required: + - user_text + - user_groups + - user_is_bot + ### revision entity fields - all revision related events should have these. page_id: type: integer diff --git a/test/jsonschema/mediawiki/user/user_common_schema.yaml b/test/jsonschema/mediawiki/user/user_common_schema.yaml index 43bded3..e45f4a9 100644 --- a/test/jsonschema/mediawiki/user/user_common_schema.yaml +++ b/test/jsonschema/mediawiki/user/user_common_schema.yaml @@ -3,6 +3,39 @@ $schema: http://json-schema.org/draft-04/schema# type: object properties: + database: + type: string + + performer: + type: object + properties: + user_id: + type: integer + user_text: + type: string + user_groups: + type: array + items: + type: string + user_is_bot: + type: boolean + user_registration_dt: + description: > + The datetime of the user account registration. + Not present for anonymous users or if missing in the MW database. + type: string + format: date-time + user_edit_count: + description: > + The number of edits this user has made at the time this revision is created. + Not present for anonymous users. + type: integer + minimum: 0 + required: + - user_text + - user_groups + - user_is_bot + ### user entity fields - all user related events should have these. user_id: type: integer -- To view, visit https://gerrit.wikimedia.org/r/364809 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: merged Gerrit-Change-Id: If432630d3e013fac5ed8dc2da45b045055725a98 Gerrit-PatchSet: 1 Gerrit-Project: mediawiki/event-schemas Gerrit-Branch: master Gerrit-Owner: Ppchelko <ppche...@wikimedia.org> Gerrit-Reviewer: Mobrovac <mobro...@wikimedia.org> Gerrit-Reviewer: Ottomata <ao...@wikimedia.org> Gerrit-Reviewer: jenkins-bot <> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits