From b4dc5d6841f7ded5995e5f308509b1a3a034cbed Mon Sep 17 00:00:00 2001 From: Julien Dessaux Date: Thu, 24 Dec 2020 15:18:24 +0100 Subject: Began implementing config validation --- config/test_data/invalid_app.yaml | 3 ++ config/test_data/invalid_menus.yaml | 58 +++++++++++++++++++++++++++++++++ config/test_data/no_anonymous_menu.yaml | 47 ++++++++++++++++++++++++++ config/test_data/no_logged_in_menu.yaml | 46 ++++++++++++++++++++++++++ config/test_data/not_enough_menus.yaml | 29 +++++++++++++++++ 5 files changed, 183 insertions(+) create mode 100644 config/test_data/invalid_app.yaml create mode 100644 config/test_data/invalid_menus.yaml create mode 100644 config/test_data/no_anonymous_menu.yaml create mode 100644 config/test_data/no_logged_in_menu.yaml create mode 100644 config/test_data/not_enough_menus.yaml (limited to 'config/test_data') diff --git a/config/test_data/invalid_app.yaml b/config/test_data/invalid_app.yaml new file mode 100644 index 0000000..1986c63 --- /dev/null +++ b/config/test_data/invalid_app.yaml @@ -0,0 +1,3 @@ +App: + WorkingDirectory: var/ + MaxUsers: -1 diff --git a/config/test_data/invalid_menus.yaml b/config/test_data/invalid_menus.yaml new file mode 100644 index 0000000..49a321e --- /dev/null +++ b/config/test_data/invalid_menus.yaml @@ -0,0 +1,58 @@ +App: + WorkingDirectory: var/ + MaxUsers: 512 + AllowRegistration: true + MaxNickLen: 15 + MenuMaxIdleTime: 600 + PostLoginCommands: + - mkdir %w/userdata/%u + - mkdir %w/userdata/%u/dumplog + - mkdir %w/userdata/%u/ttyrec + +Menus: + anonymous: + Banner: 'Shell Game Launcher - Anonymous access%n======================================' + XOffset: 5 + YOffset: 2 + MenuEntries: + - Key: l + Label: login + Action: login + - Key: r + Label: register + Action: register + - Key: w + Label: watch + Action: watch_menu + - Key: q + Label: quit + Action: quit + logged_in: + Banner: 'Shell Game Launcher%n===================' + XOffset: 5 + YOffset: 2 + MenuEntries: + - Key: p + Label: play Nethack 3.7 + Action: play nethack3.7 + - Key: o + Label: edit game options + Action: menu options + - Key: w + Label: watch + Action: watch + - Key: r + Label: replay + Action: replay + - Key: c + Label: change password + Action: passwd + - Key: m + Label: change email + Action: chmail + - Key: q + Label: quit + Action: quit + test: + Banner: 'Shell Game Launcher%n===================' + XOffset: -1 diff --git a/config/test_data/no_anonymous_menu.yaml b/config/test_data/no_anonymous_menu.yaml new file mode 100644 index 0000000..2afc4ad --- /dev/null +++ b/config/test_data/no_anonymous_menu.yaml @@ -0,0 +1,47 @@ +App: + WorkingDirectory: var/ + MaxUsers: 512 + AllowRegistration: true + MaxNickLen: 15 + MenuMaxIdleTime: 600 + PostLoginCommands: + - mkdir %w/userdata/%u + - mkdir %w/userdata/%u/dumplog + - mkdir %w/userdata/%u/ttyrec + +Menus: + logged_in: + Banner: 'Shell Game Launcher - Anonymous access%n======================================' + XOffset: 5 + YOffset: 2 + MenuEntries: + - Key: l + Label: login + Action: login + - Key: r + Label: register + Action: register + - Key: w + Label: watch + Action: watch_menu + - Key: q + Label: quit + Action: quit + test: + Banner: 'Shell Game Launcher - Anonymous access%n======================================' + XOffset: 5 + YOffset: 2 + MenuEntries: + - Key: l + Label: login + Action: login + - Key: r + Label: register + Action: register + - Key: w + Label: watch + Action: watch_menu + - Key: q + Label: quit + Action: quit + diff --git a/config/test_data/no_logged_in_menu.yaml b/config/test_data/no_logged_in_menu.yaml new file mode 100644 index 0000000..f6e39fa --- /dev/null +++ b/config/test_data/no_logged_in_menu.yaml @@ -0,0 +1,46 @@ +App: + WorkingDirectory: var/ + MaxUsers: 512 + AllowRegistration: true + MaxNickLen: 15 + MenuMaxIdleTime: 600 + PostLoginCommands: + - mkdir %w/userdata/%u + - mkdir %w/userdata/%u/dumplog + - mkdir %w/userdata/%u/ttyrec + +Menus: + anonymous: + Banner: 'Shell Game Launcher - Anonymous access%n======================================' + XOffset: 5 + YOffset: 2 + MenuEntries: + - Key: l + Label: login + Action: login + - Key: r + Label: register + Action: register + - Key: w + Label: watch + Action: watch_menu + - Key: q + Label: quit + Action: quit + test: + Banner: 'Shell Game Launcher - Anonymous access%n======================================' + XOffset: 5 + YOffset: 2 + MenuEntries: + - Key: l + Label: login + Action: login + - Key: r + Label: register + Action: register + - Key: w + Label: watch + Action: watch_menu + - Key: q + Label: quit + Action: quit diff --git a/config/test_data/not_enough_menus.yaml b/config/test_data/not_enough_menus.yaml new file mode 100644 index 0000000..db3b72c --- /dev/null +++ b/config/test_data/not_enough_menus.yaml @@ -0,0 +1,29 @@ +App: + WorkingDirectory: var/ + MaxUsers: 512 + AllowRegistration: true + MaxNickLen: 15 + MenuMaxIdleTime: 600 + PostLoginCommands: + - mkdir %w/userdata/%u + - mkdir %w/userdata/%u/dumplog + - mkdir %w/userdata/%u/ttyrec + +Menus: + anonymous: + Banner: 'Shell Game Launcher - Anonymous access%n======================================' + XOffset: 5 + YOffset: 2 + MenuEntries: + - Key: l + Label: login + Action: login + - Key: r + Label: register + Action: register + - Key: w + Label: watch + Action: watch_menu + - Key: q + Label: quit + Action: quit -- cgit v1.2.3