{
	"helper.password.validate": {
		"cases": [
			{
				"name": "minimum_length:pass",
				"input": {
					"settings": {
						"minimum_length": 5,
						"maximum_length": null,
						"must_contain_letter": false,
						"must_contain_number": false,
						"must_contain_special_character": false
					},
					"password": "abcde"
				},
				"output": [
				]
			},
			{
				"name": "minimum_length:fail",
				"input": {
					"settings": {
						"minimum_length": 5,
						"maximum_length": null,
						"must_contain_letter": false,
						"must_contain_number": false,
						"must_contain_special_character": false
					},
					"password": "abcd"
				},
				"output": [
					{
						"incident": "too_short",
						"details": {
							"minimum_length": 5,
							"actual_length": 4
						}
					}
				]
			},
			{
				"name": "maximum_length:pass",
				"input": {
					"settings": {
						"minimum_length": null,
						"maximum_length": 5,
						"must_contain_letter": false,
						"must_contain_number": false,
						"must_contain_special_character": false
					},
					"password": "abcde"
				},
				"output": [
				]
			},
			{
				"name": "maximum_length:fail",
				"input": {
					"settings": {
						"minimum_length": null,
						"maximum_length": 5,
						"must_contain_letter": false,
						"must_contain_number": false,
						"must_contain_special_character": false
					},
					"password": "abcdef"
				},
				"output": [
					{
						"incident": "too_long",
						"details": {
							"maximum_length": 5,
							"actual_length": 6
						}
					}
				]
			},
			{
				"name": "must_contain_letter:pass",
				"input": {
					"settings": {
						"minimum_length": null,
						"maximum_length": null,
						"must_contain_letter": true,
						"must_contain_number": false,
						"must_contain_special_character": false
					},
					"password": "01x34"
				},
				"output": [
				]
			},
			{
				"name": "must_contain_letter:fail",
				"input": {
					"settings": {
						"minimum_length": null,
						"maximum_length": null,
						"must_contain_letter": true,
						"must_contain_number": false,
						"must_contain_special_character": false
					},
					"password": "01234"
				},
				"output": [
					{
						"incident": "lacks_letter",
						"details": {
						}
					}
				]
			},
			{
				"name": "must_contain_number:pass",
				"input": {
					"settings": {
						"minimum_length": null,
						"maximum_length": null,
						"must_contain_letter": false,
						"must_contain_number": true,
						"must_contain_special_character": false
					},
					"password": "ab0de"
				},
				"output": [
				]
			},
			{
				"name": "must_contain_number:fail",
				"input": {
					"settings": {
						"minimum_length": null,
						"maximum_length": null,
						"must_contain_letter": false,
						"must_contain_number": true,
						"must_contain_special_character": false
					},
					"password": "abcde"
				},
				"output": [
					{
						"incident": "lacks_number",
						"details": {
						}
					}
				]
			},
			{
				"name": "must_contain_special_character:pass",
				"input": {
					"settings": {
						"minimum_length": null,
						"maximum_length": null,
						"must_contain_letter": false,
						"must_contain_number": false,
						"must_contain_special_character": true
					},
					"password": "01.34"
				},
				"output": [
				]
			},
			{
				"name": "must_contain_special_character:fail",
				"input": {
					"settings": {
						"minimum_length": null,
						"maximum_length": null,
						"must_contain_letter": false,
						"must_contain_number": false,
						"must_contain_special_character": true
					},
					"password": "01234"
				},
				"output": [
					{
						"incident": "lacks_special_character",
						"details": {
						}
					}
				]
			},
			{
				"name": "oblique:pass",
				"input": {
					"settings": {
						"minimum_length": 8,
						"maximum_length": 12,
						"must_contain_letter": true,
						"must_contain_number": true,
						"must_contain_special_character": true
					},
					"password": "eiB@oo7tuu"
				},
				"output": [
				]
			}
		]
	},
	"service.member.name_login": {
		"cases": [
			{
				"name": "extension:first",
				"input": {
					"name_real_value": "Hans Wurst",
					"name_real_index": 1
				},
				"output": "hans.wurst"
			},
			{
				"name": "extension:other",
				"input": {
					"name_real_value": "Hans Wurst",
					"name_real_index": 3
				},
				"output": "hans.wurst.3"
			},
			{
				"name": "oblique",
				"input": {
					"name_real_value": "Käthĕ Gauß-Öhler",
					"name_real_index": 2
				},
				"output": "kaeth_.gauss-oehler.2"
			}
		]
	},
	"service.member.export_authelia_user_file": {
		"cases": [
			{
				"name": "oblique",
				"input": {
					"conf": {
						"version": 2,
						"settings": {
							"organisation": {
								"domain": "testdomain.org"
							},
							"misc": {
								"prefix_for_veiled_email_addresses": "wicht-"
							}
						}
					},
					"members": [
						{
							"membership_number": "1234567",
							"name_real_value": "Karl Liebknecht",
							"name_real_index": 1,
							"email_address_private": "karl@l-haus.de",
							"registered": true,
							"enabled": true,
							"email_use_veiled_address": true,
							"email_use_nominal_address": false,
							"email_redirect_to_private_address": true,
							"email_allow_sending": false,
							"password_image": "foobar"
						}
					]
				},
				"output": "users:\n  karl.liebknecht:\n    disabled: false\n    displayname: Karl Liebknecht\n    email: wicht-1234567@testdomain.org\n    groups: []\n    password: foobar\n"
			}
		]
	}
}
