Software /
code /
prosody
Annotate
spec/util_encodings_spec.lua @ 12730:427dd01f0864
mod_authz_internal: Allow configuring role of local-server/parent-host users
'host_user_role' is the default role of users who have JIDs on the "parent"
host (i.e. jabber.org users on conference.jabber.org). Defaults to
'prosody:user'.
'server_user_roles' is the default role of users who have JIDs on any active
host on the current Prosody instance. Default to nil (no role).
This finally allows better permissions splitting between host and server
users, which has previously been done (e.g. in MUC) with options like
'restrict_room_creation' and 'muc_room_allow_persistent'. Using roles makes
these permissions a lot more flexible, and easier for developers to integrate.
author | Matthew Wild <mwild1@gmail.com> |
---|---|
date | Thu, 29 Sep 2022 12:10:14 +0100 |
parent | 8373:af7b41a0ec9e |
rev | line source |
---|---|
8236
4878e4159e12
Port tests to the `busted` test runner
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
1 |
4878e4159e12
Port tests to the `busted` test runner
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
2 local encodings = require "util.encodings"; |
4878e4159e12
Port tests to the `busted` test runner
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
3 local utf8 = assert(encodings.utf8, "no encodings.utf8 module"); |
4878e4159e12
Port tests to the `busted` test runner
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
4 |
8367
60eb22fd21b8
spec/util.encodings: Add some base64 tests (Thanks Link Mavue)
Kim Alvefur <zash@zash.se>
parents:
8236
diff
changeset
|
5 describe("util.encodings", function () |
60eb22fd21b8
spec/util.encodings: Add some base64 tests (Thanks Link Mavue)
Kim Alvefur <zash@zash.se>
parents:
8236
diff
changeset
|
6 describe("#encode()", function() |
60eb22fd21b8
spec/util.encodings: Add some base64 tests (Thanks Link Mavue)
Kim Alvefur <zash@zash.se>
parents:
8236
diff
changeset
|
7 it("should work", function () |
60eb22fd21b8
spec/util.encodings: Add some base64 tests (Thanks Link Mavue)
Kim Alvefur <zash@zash.se>
parents:
8236
diff
changeset
|
8 assert.is.equal(encodings.base64.encode(""), ""); |
8371
09a1ce618ad0
spec/util.encodings: Fix syntax
Kim Alvefur <zash@zash.se>
parents:
8370
diff
changeset
|
9 assert.is.equal(encodings.base64.encode('coucou'), "Y291Y291"); |
8367
60eb22fd21b8
spec/util.encodings: Add some base64 tests (Thanks Link Mavue)
Kim Alvefur <zash@zash.se>
parents:
8236
diff
changeset
|
10 assert.is.equal(encodings.base64.encode("\0\0\0"), "AAAA"); |
8372
872efae6e222
spec/util.encodings: Test an UTF-8 sequence
Kim Alvefur <zash@zash.se>
parents:
8371
diff
changeset
|
11 assert.is.equal(encodings.base64.encode("\255\255\255"), "////"); |
8367
60eb22fd21b8
spec/util.encodings: Add some base64 tests (Thanks Link Mavue)
Kim Alvefur <zash@zash.se>
parents:
8236
diff
changeset
|
12 end); |
60eb22fd21b8
spec/util.encodings: Add some base64 tests (Thanks Link Mavue)
Kim Alvefur <zash@zash.se>
parents:
8236
diff
changeset
|
13 end); |
60eb22fd21b8
spec/util.encodings: Add some base64 tests (Thanks Link Mavue)
Kim Alvefur <zash@zash.se>
parents:
8236
diff
changeset
|
14 describe("#decode()", function() |
60eb22fd21b8
spec/util.encodings: Add some base64 tests (Thanks Link Mavue)
Kim Alvefur <zash@zash.se>
parents:
8236
diff
changeset
|
15 it("should work", function () |
60eb22fd21b8
spec/util.encodings: Add some base64 tests (Thanks Link Mavue)
Kim Alvefur <zash@zash.se>
parents:
8236
diff
changeset
|
16 assert.is.equal(encodings.base64.decode(""), ""); |
8373
af7b41a0ec9e
spec/util.encodings: Test a lonly padding (can appear like this in SASL)
Kim Alvefur <zash@zash.se>
parents:
8372
diff
changeset
|
17 assert.is.equal(encodings.base64.decode("="), ""); |
8371
09a1ce618ad0
spec/util.encodings: Fix syntax
Kim Alvefur <zash@zash.se>
parents:
8370
diff
changeset
|
18 assert.is.equal(encodings.base64.decode('Y291Y291'), "coucou"); |
8367
60eb22fd21b8
spec/util.encodings: Add some base64 tests (Thanks Link Mavue)
Kim Alvefur <zash@zash.se>
parents:
8236
diff
changeset
|
19 assert.is.equal(encodings.base64.decode("AAAA"), "\0\0\0"); |
8372
872efae6e222
spec/util.encodings: Test an UTF-8 sequence
Kim Alvefur <zash@zash.se>
parents:
8371
diff
changeset
|
20 assert.is.equal(encodings.base64.decode("////"), "\255\255\255"); |
8367
60eb22fd21b8
spec/util.encodings: Add some base64 tests (Thanks Link Mavue)
Kim Alvefur <zash@zash.se>
parents:
8236
diff
changeset
|
21 end); |
60eb22fd21b8
spec/util.encodings: Add some base64 tests (Thanks Link Mavue)
Kim Alvefur <zash@zash.se>
parents:
8236
diff
changeset
|
22 end); |
60eb22fd21b8
spec/util.encodings: Add some base64 tests (Thanks Link Mavue)
Kim Alvefur <zash@zash.se>
parents:
8236
diff
changeset
|
23 end); |
8236
4878e4159e12
Port tests to the `busted` test runner
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
24 describe("util.encodings.utf8", function() |
4878e4159e12
Port tests to the `busted` test runner
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
25 describe("#valid()", function() |
4878e4159e12
Port tests to the `busted` test runner
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
26 it("should work", function() |
4878e4159e12
Port tests to the `busted` test runner
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
27 |
4878e4159e12
Port tests to the `busted` test runner
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
28 for line in io.lines("spec/utf8_sequences.txt") do |
4878e4159e12
Port tests to the `busted` test runner
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
29 local data = line:match(":%s*([^#]+)"):gsub("%s+", ""):gsub("..", function (c) return string.char(tonumber(c, 16)); end) |
4878e4159e12
Port tests to the `busted` test runner
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
30 local expect = line:match("(%S+):"); |
4878e4159e12
Port tests to the `busted` test runner
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
31 |
4878e4159e12
Port tests to the `busted` test runner
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
32 assert(expect == "pass" or expect == "fail", "unknown expectation: "..line:match("^[^:]+")); |
4878e4159e12
Port tests to the `busted` test runner
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
33 |
4878e4159e12
Port tests to the `busted` test runner
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
34 local valid = utf8.valid(data); |
4878e4159e12
Port tests to the `busted` test runner
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
35 assert.is.equal(valid, utf8.valid(data.." ")); |
4878e4159e12
Port tests to the `busted` test runner
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
36 assert.is.equal(valid, expect == "pass", line); |
4878e4159e12
Port tests to the `busted` test runner
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
37 end |
4878e4159e12
Port tests to the `busted` test runner
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
38 |
4878e4159e12
Port tests to the `busted` test runner
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
39 end); |
4878e4159e12
Port tests to the `busted` test runner
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
40 end); |
4878e4159e12
Port tests to the `busted` test runner
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
41 end); |