Add test for parsing sender setting in :welcome group

This commit is contained in:
Angelina Filippova 2020-08-03 21:41:25 +03:00
parent 3d1087986f
commit 659adbe6d7

View file

@ -223,10 +223,10 @@ describe('Parse tuples', () => {
}) })
it('parses match_actor setting in mrf_subchain group', () => { it('parses match_actor setting in mrf_subchain group', () => {
const tuples = [{ tuple: [":match_actor", const tuples = [{ tuple: [':match_actor',
{ '~r/https:\/\/example.com/s': ["Elixir.Pleroma.Web.ActivityPub.MRF.DropPolicy"]}]}] { '~r/https:\/\/example.com/s': ['Elixir.Pleroma.Web.ActivityPub.MRF.DropPolicy']}]}]
const expectedResult = { ":match_actor": const expectedResult = { ':match_actor':
[{ '~r/https:\/\/example.com/s': { value: ["Elixir.Pleroma.Web.ActivityPub.MRF.DropPolicy"] }}]} [{ '~r/https:\/\/example.com/s': { value: ['Elixir.Pleroma.Web.ActivityPub.MRF.DropPolicy'] }}]}
const parsed = parseTuples(tuples, ':mrf_subchain') const parsed = parseTuples(tuples, ':mrf_subchain')
@ -241,7 +241,7 @@ describe('Parse tuples', () => {
}) })
it('parses options setting in MediaProxy.Invalidation.Http group', () => { it('parses options setting in MediaProxy.Invalidation.Http group', () => {
const tuples = [{ tuple: [":options", [{ tuple: [":params", { xxx: "zzz", aaa: "bbb" }]}]]}] const tuples = [{ tuple: [':options', [{ tuple: [':params', { xxx: 'zzz', aaa: 'bbb' }]}]]}]
const expectedResult = { ':options': { ':params': const expectedResult = { ':options': { ':params':
[ { xxx: { value: 'zzz' }}, { aaa: { value: 'bbb' }}] [ { xxx: { value: 'zzz' }}, { aaa: { value: 'bbb' }}]
}} }}
@ -260,14 +260,30 @@ describe('Parse tuples', () => {
expect(_.isEqual(expectedResult, parsed)).toBeTruthy() expect(_.isEqual(expectedResult, parsed)).toBeTruthy()
}) })
it('parses proxy_url', () => { it('parses sender setting in :welcome', () => {
const proxyUrlNull = [{ tuple: [":proxy_url", null] }] const senderEmpty = [{ tuple: [':sender', ''] }]
const proxyUrlTuple = [{ tuple: [":proxy_url", { tuple: [":socks5", ":localhost", 3090] }]}] const senderTuple = [{ tuple: [':sender', { tuple: ['test', 'test@email.com'] }]}]
const proxyUrlString = [{ tuple: [":proxy_url", 'localhost:9020'] }] const senderString = [{ tuple: [':sender', 'test@email.com'] }]
const expectedProxyUrlNull = { ":proxy_url": { socks5: false, host: null, port: null }} const expectedSenderEmpty = { ':sender': { email: '' }}
const expectedProxyUrlTuple = { ":proxy_url": { socks5: true, host: ":localhost", port: 3090 }} const expectedSenderTuple = { ':sender': { email: 'test@email.com', nickname: 'test' }}
const expectedProxyUrlString = { ":proxy_url": { socks5: false, host: 'localhost', port: '9020' }} const expectedSenderString = { ':sender': { email: 'test@email.com' }}
console.log(parseTuples(senderEmpty, ':welcome'))
expect(_.isEqual(expectedSenderEmpty, parseTuples(senderEmpty, ':welcome'))).toBeTruthy()
expect(_.isEqual(expectedSenderTuple, parseTuples(senderTuple, ':welcome'))).toBeTruthy()
expect(_.isEqual(expectedSenderString, parseTuples(senderString, ':welcome'))).toBeTruthy()
})
it('parses proxy_url', () => {
const proxyUrlNull = [{ tuple: [':proxy_url', null] }]
const proxyUrlTuple = [{ tuple: [':proxy_url', { tuple: [':socks5', ':localhost', 3090] }]}]
const proxyUrlString = [{ tuple: [':proxy_url', 'localhost:9020'] }]
const expectedProxyUrlNull = { ':proxy_url': { socks5: false, host: null, port: null }}
const expectedProxyUrlTuple = { ':proxy_url': { socks5: true, host: ':localhost', port: 3090 }}
const expectedProxyUrlString = { ':proxy_url': { socks5: false, host: 'localhost', port: '9020' }}
expect(_.isEqual(expectedProxyUrlNull, parseTuples(proxyUrlNull, ':http'))).toBeTruthy() expect(_.isEqual(expectedProxyUrlNull, parseTuples(proxyUrlNull, ':http'))).toBeTruthy()
expect(_.isEqual(expectedProxyUrlTuple, parseTuples(proxyUrlTuple, ':http'))).toBeTruthy() expect(_.isEqual(expectedProxyUrlTuple, parseTuples(proxyUrlTuple, ':http'))).toBeTruthy()
@ -275,8 +291,8 @@ describe('Parse tuples', () => {
}) })
it('parses args setting in Pleroma.Upload.Filter.Mogrify', () => { it('parses args setting in Pleroma.Upload.Filter.Mogrify', () => {
const tuples = [{ tuple: [":args", ["strip", { tuple: ["implode", "1"] }]]}] const tuples = [{ tuple: [':args', ['strip', { tuple: ['implode', '1'] }]]}]
const expectedResult = { ":args": ["strip", "implode"] } const expectedResult = { ':args': ['strip', 'implode'] }
const result = parseTuples(tuples, 'Pleroma.Upload.Filter.Mogrify') const result = parseTuples(tuples, 'Pleroma.Upload.Filter.Mogrify')
expect(_.isEqual(expectedResult, result)).toBeTruthy() expect(_.isEqual(expectedResult, result)).toBeTruthy()
@ -284,19 +300,19 @@ describe('Parse tuples', () => {
it('parses nested tuples', () => { it('parses nested tuples', () => {
const tuples = [{ tuple: [':proxy_opts', [ const tuples = [{ tuple: [':proxy_opts', [
{ tuple: [":redirect_on_failure", false] }, { tuple: [':redirect_on_failure', false] },
{ tuple: [":max_body_length", 26214400] }, { tuple: [':max_body_length', 26214400] },
{ tuple: [":http", [ { tuple: [':http', [
{ tuple: [":follow_redirect", true] }, { tuple: [':follow_redirect', true] },
{ tuple: [":pool", ":media"] } { tuple: [':pool', ':media'] }
]]}, ]]},
]]}] ]]}]
const expectedResult = { ':proxy_opts': { const expectedResult = { ':proxy_opts': {
":redirect_on_failure": false, ':redirect_on_failure': false,
":max_body_length": 26214400, ':max_body_length': 26214400,
":http": { ':http': {
":follow_redirect": true, ':follow_redirect': true,
":pool": ":media" ':pool': ':media'
} }
}} }}
const result = parseTuples(tuples, ':media_proxy') const result = parseTuples(tuples, ':media_proxy')
@ -304,8 +320,8 @@ describe('Parse tuples', () => {
}) })
it('parses tuples with arrays', () => { it('parses tuples with arrays', () => {
const tuples = [{ tuple: [":ignore_hosts", []]}, { tuple: [":ignore_tld", ["local", "localdomain", "lan"]]}] const tuples = [{ tuple: [':ignore_hosts', []]}, { tuple: [':ignore_tld', ['local', 'localdomain', 'lan']]}]
const expectedResult = { ":ignore_hosts": [], ":ignore_tld": ["local", "localdomain", "lan"] } const expectedResult = { ':ignore_hosts': [], ':ignore_tld': ['local', 'localdomain', 'lan'] }
const result = parseTuples(tuples, ':rich_media') const result = parseTuples(tuples, ':rich_media')
expect(_.isEqual(expectedResult, result)).toBeTruthy() expect(_.isEqual(expectedResult, result)).toBeTruthy()