chore(tests): Fix tests

This commit is contained in:
PapaTutuWawa 2023-04-02 23:23:50 +02:00
parent 7fdd83ea69
commit 808371b271
11 changed files with 37 additions and 37 deletions

View File

@ -58,7 +58,7 @@ List<ExpectationBase> buildAuthenticatedPlay(ConnectionSettings settings) {
); );
return [ return [
StringExpectation( StringExpectation(
"<stream:stream xmlns='jabber:client' version='1.0' xmlns:stream='http://etherx.jabber.org/streams' to='${settings.jid.domain}' xml:lang='en'>", "<stream:stream xmlns='jabber:client' version='1.0' xmlns:stream='http://etherx.jabber.org/streams' to='${settings.jid.domain}' from='${settings.jid.toBare().toString()}' xml:lang='en'>",
''' '''
<stream:stream <stream:stream
xmlns="jabber:client" xmlns="jabber:client"
@ -77,7 +77,7 @@ List<ExpectationBase> buildAuthenticatedPlay(ConnectionSettings settings) {
'<success xmlns="urn:ietf:params:xml:ns:xmpp-sasl" />', '<success xmlns="urn:ietf:params:xml:ns:xmpp-sasl" />',
), ),
StringExpectation( StringExpectation(
"<stream:stream xmlns='jabber:client' version='1.0' xmlns:stream='http://etherx.jabber.org/streams' to='${settings.jid.domain}' xml:lang='en'>", "<stream:stream xmlns='jabber:client' version='1.0' xmlns:stream='http://etherx.jabber.org/streams' to='${settings.jid.domain}' from='${settings.jid.toBare().toString()}' xml:lang='en'>",
''' '''
<stream:stream <stream:stream
xmlns="jabber:client" xmlns="jabber:client"

View File

@ -46,7 +46,7 @@ void main() {
final stubSocket = StubTCPSocket( final stubSocket = StubTCPSocket(
[ [
StringExpectation( StringExpectation(
"<stream:stream xmlns='jabber:client' version='1.0' xmlns:stream='http://etherx.jabber.org/streams' to='test.server' xml:lang='en'>", "<stream:stream xmlns='jabber:client' version='1.0' xmlns:stream='http://etherx.jabber.org/streams' to='test.server' from='user@test.server' xml:lang='en'>",
''' '''
<stream:stream <stream:stream
xmlns="jabber:client" xmlns="jabber:client"

View File

@ -23,8 +23,8 @@ void main() {
); );
expect( expect(
StreamHeaderNonza(JID.fromString('uwu.server')).toXml(), StreamHeaderNonza(JID.fromString('user@uwu.server')).toXml(),
"<stream:stream xmlns='jabber:client' version='1.0' xmlns:stream='http://etherx.jabber.org/streams' to='uwu.server' xml:lang='en'>", "<stream:stream xmlns='jabber:client' version='1.0' xmlns:stream='http://etherx.jabber.org/streams' to='uwu.server' from='user@uwu.server' xml:lang='en'>",
); );
expect( expect(

View File

@ -12,7 +12,7 @@ void main() {
final fakeSocket = StubTCPSocket( final fakeSocket = StubTCPSocket(
[ [
StringExpectation( StringExpectation(
"<stream:stream xmlns='jabber:client' version='1.0' xmlns:stream='http://etherx.jabber.org/streams' to='test.server' xml:lang='en'>", "<stream:stream xmlns='jabber:client' version='1.0' xmlns:stream='http://etherx.jabber.org/streams' to='test.server' from='polynomdivision@test.server' xml:lang='en'>",
''' '''
<stream:stream <stream:stream
xmlns="jabber:client" xmlns="jabber:client"
@ -31,7 +31,7 @@ void main() {
'<success xmlns="urn:ietf:params:xml:ns:xmpp-sasl" />', '<success xmlns="urn:ietf:params:xml:ns:xmpp-sasl" />',
), ),
StringExpectation( StringExpectation(
"<stream:stream xmlns='jabber:client' version='1.0' xmlns:stream='http://etherx.jabber.org/streams' to='test.server' xml:lang='en'>", "<stream:stream xmlns='jabber:client' version='1.0' xmlns:stream='http://etherx.jabber.org/streams' to='test.server' from='polynomdivision@test.server' xml:lang='en'>",
''' '''
<stream:stream <stream:stream
xmlns="jabber:client" xmlns="jabber:client"

View File

@ -227,7 +227,7 @@ void main() {
() async { () async {
final fakeSocket = StubTCPSocket([ final fakeSocket = StubTCPSocket([
StringExpectation( StringExpectation(
"<stream:stream xmlns='jabber:client' version='1.0' xmlns:stream='http://etherx.jabber.org/streams' to='test.server' xml:lang='en'>", "<stream:stream xmlns='jabber:client' version='1.0' xmlns:stream='http://etherx.jabber.org/streams' to='test.server' from='polynomdivision@test.server' xml:lang='en'>",
''' '''
<stream:stream <stream:stream
xmlns="jabber:client" xmlns="jabber:client"
@ -246,7 +246,7 @@ void main() {
'<success xmlns="urn:ietf:params:xml:ns:xmpp-sasl" />', '<success xmlns="urn:ietf:params:xml:ns:xmpp-sasl" />',
), ),
StringExpectation( StringExpectation(
"<stream:stream xmlns='jabber:client' version='1.0' xmlns:stream='http://etherx.jabber.org/streams' to='test.server' xml:lang='en'>", "<stream:stream xmlns='jabber:client' version='1.0' xmlns:stream='http://etherx.jabber.org/streams' to='test.server' from='polynomdivision@test.server' xml:lang='en'>",
''' '''
<stream:stream <stream:stream
xmlns="jabber:client" xmlns="jabber:client"
@ -342,7 +342,7 @@ void main() {
test('Test counting incoming stanzas that are awaited', () async { test('Test counting incoming stanzas that are awaited', () async {
final fakeSocket = StubTCPSocket([ final fakeSocket = StubTCPSocket([
StringExpectation( StringExpectation(
"<stream:stream xmlns='jabber:client' version='1.0' xmlns:stream='http://etherx.jabber.org/streams' to='test.server' xml:lang='en'>", "<stream:stream xmlns='jabber:client' version='1.0' xmlns:stream='http://etherx.jabber.org/streams' to='test.server' from='polynomdivision@test.server' xml:lang='en'>",
''' '''
<stream:stream <stream:stream
xmlns="jabber:client" xmlns="jabber:client"
@ -361,7 +361,7 @@ void main() {
'<success xmlns="urn:ietf:params:xml:ns:xmpp-sasl" />', '<success xmlns="urn:ietf:params:xml:ns:xmpp-sasl" />',
), ),
StringExpectation( StringExpectation(
"<stream:stream xmlns='jabber:client' version='1.0' xmlns:stream='http://etherx.jabber.org/streams' to='test.server' xml:lang='en'>", "<stream:stream xmlns='jabber:client' version='1.0' xmlns:stream='http://etherx.jabber.org/streams' to='test.server' from='polynomdivision@test.server' xml:lang='en'>",
''' '''
<stream:stream <stream:stream
xmlns="jabber:client" xmlns="jabber:client"
@ -512,7 +512,7 @@ void main() {
test('Test successful stream enablement', () async { test('Test successful stream enablement', () async {
final fakeSocket = StubTCPSocket([ final fakeSocket = StubTCPSocket([
StringExpectation( StringExpectation(
"<stream:stream xmlns='jabber:client' version='1.0' xmlns:stream='http://etherx.jabber.org/streams' to='test.server' xml:lang='en'>", "<stream:stream xmlns='jabber:client' version='1.0' xmlns:stream='http://etherx.jabber.org/streams' to='test.server' from='polynomdivision@test.server' xml:lang='en'>",
''' '''
<stream:stream <stream:stream
xmlns="jabber:client" xmlns="jabber:client"
@ -531,7 +531,7 @@ void main() {
'<success xmlns="urn:ietf:params:xml:ns:xmpp-sasl" />', '<success xmlns="urn:ietf:params:xml:ns:xmpp-sasl" />',
), ),
StringExpectation( StringExpectation(
"<stream:stream xmlns='jabber:client' version='1.0' xmlns:stream='http://etherx.jabber.org/streams' to='test.server' xml:lang='en'>", "<stream:stream xmlns='jabber:client' version='1.0' xmlns:stream='http://etherx.jabber.org/streams' to='test.server' from='polynomdivision@test.server' xml:lang='en'>",
''' '''
<stream:stream <stream:stream
xmlns="jabber:client" xmlns="jabber:client"
@ -602,7 +602,7 @@ void main() {
test('Test a failed stream resumption', () async { test('Test a failed stream resumption', () async {
final fakeSocket = StubTCPSocket([ final fakeSocket = StubTCPSocket([
StringExpectation( StringExpectation(
"<stream:stream xmlns='jabber:client' version='1.0' xmlns:stream='http://etherx.jabber.org/streams' to='test.server' xml:lang='en'>", "<stream:stream xmlns='jabber:client' version='1.0' xmlns:stream='http://etherx.jabber.org/streams' to='test.server' from='polynomdivision@test.server' xml:lang='en'>",
''' '''
<stream:stream <stream:stream
xmlns="jabber:client" xmlns="jabber:client"
@ -621,7 +621,7 @@ void main() {
'<success xmlns="urn:ietf:params:xml:ns:xmpp-sasl" />', '<success xmlns="urn:ietf:params:xml:ns:xmpp-sasl" />',
), ),
StringExpectation( StringExpectation(
"<stream:stream xmlns='jabber:client' version='1.0' xmlns:stream='http://etherx.jabber.org/streams' to='test.server' xml:lang='en'>", "<stream:stream xmlns='jabber:client' version='1.0' xmlns:stream='http://etherx.jabber.org/streams' to='test.server' from='polynomdivision@test.server' xml:lang='en'>",
''' '''
<stream:stream <stream:stream
xmlns="jabber:client" xmlns="jabber:client"
@ -702,7 +702,7 @@ void main() {
test('Test a successful stream resumption', () async { test('Test a successful stream resumption', () async {
final fakeSocket = StubTCPSocket([ final fakeSocket = StubTCPSocket([
StringExpectation( StringExpectation(
"<stream:stream xmlns='jabber:client' version='1.0' xmlns:stream='http://etherx.jabber.org/streams' to='test.server' xml:lang='en'>", "<stream:stream xmlns='jabber:client' version='1.0' xmlns:stream='http://etherx.jabber.org/streams' to='test.server' from='polynomdivision@test.server' xml:lang='en'>",
''' '''
<stream:stream <stream:stream
xmlns="jabber:client" xmlns="jabber:client"
@ -721,7 +721,7 @@ void main() {
'<success xmlns="urn:ietf:params:xml:ns:xmpp-sasl" />', '<success xmlns="urn:ietf:params:xml:ns:xmpp-sasl" />',
), ),
StringExpectation( StringExpectation(
"<stream:stream xmlns='jabber:client' version='1.0' xmlns:stream='http://etherx.jabber.org/streams' to='test.server' xml:lang='en'>", "<stream:stream xmlns='jabber:client' version='1.0' xmlns:stream='http://etherx.jabber.org/streams' to='test.server' from='polynomdivision@test.server' xml:lang='en'>",
''' '''
<stream:stream <stream:stream
xmlns="jabber:client" xmlns="jabber:client"
@ -792,7 +792,7 @@ void main() {
test('Test SASL2 inline stream resumption', () async { test('Test SASL2 inline stream resumption', () async {
final fakeSocket = StubTCPSocket([ final fakeSocket = StubTCPSocket([
StringExpectation( StringExpectation(
"<stream:stream xmlns='jabber:client' version='1.0' xmlns:stream='http://etherx.jabber.org/streams' to='test.server' xml:lang='en'>", "<stream:stream xmlns='jabber:client' version='1.0' xmlns:stream='http://etherx.jabber.org/streams' to='test.server' from='polynomdivision@test.server' xml:lang='en'>",
''' '''
<stream:stream <stream:stream
xmlns="jabber:client" xmlns="jabber:client"
@ -886,7 +886,7 @@ void main() {
test('Test SASL2 inline stream resumption with Bind2', () async { test('Test SASL2 inline stream resumption with Bind2', () async {
final fakeSocket = StubTCPSocket([ final fakeSocket = StubTCPSocket([
StringExpectation( StringExpectation(
"<stream:stream xmlns='jabber:client' version='1.0' xmlns:stream='http://etherx.jabber.org/streams' to='test.server' xml:lang='en'>", "<stream:stream xmlns='jabber:client' version='1.0' xmlns:stream='http://etherx.jabber.org/streams' to='test.server' from='polynomdivision@test.server' xml:lang='en'>",
''' '''
<stream:stream <stream:stream
xmlns="jabber:client" xmlns="jabber:client"
@ -986,7 +986,7 @@ void main() {
test('Test failed SASL2 inline stream resumption with Bind2', () async { test('Test failed SASL2 inline stream resumption with Bind2', () async {
final fakeSocket = StubTCPSocket([ final fakeSocket = StubTCPSocket([
StringExpectation( StringExpectation(
"<stream:stream xmlns='jabber:client' version='1.0' xmlns:stream='http://etherx.jabber.org/streams' to='test.server' xml:lang='en'>", "<stream:stream xmlns='jabber:client' version='1.0' xmlns:stream='http://etherx.jabber.org/streams' to='test.server' from='polynomdivision@test.server' xml:lang='en'>",
''' '''
<stream:stream <stream:stream
xmlns="jabber:client" xmlns="jabber:client"

View File

@ -59,7 +59,7 @@ void main() {
test('Test enabling message carbons inline with Bind2', () async { test('Test enabling message carbons inline with Bind2', () async {
final fakeSocket = StubTCPSocket([ final fakeSocket = StubTCPSocket([
StringExpectation( StringExpectation(
"<stream:stream xmlns='jabber:client' version='1.0' xmlns:stream='http://etherx.jabber.org/streams' to='test.server' xml:lang='en'>", "<stream:stream xmlns='jabber:client' version='1.0' xmlns:stream='http://etherx.jabber.org/streams' to='test.server' from='polynomdivision@test.server' xml:lang='en'>",
''' '''
<stream:stream <stream:stream
xmlns="jabber:client" xmlns="jabber:client"

View File

@ -118,7 +118,7 @@ void main() {
test('Test CSI with Bind2', () async { test('Test CSI with Bind2', () async {
final fakeSocket = StubTCPSocket([ final fakeSocket = StubTCPSocket([
StringExpectation( StringExpectation(
"<stream:stream xmlns='jabber:client' version='1.0' xmlns:stream='http://etherx.jabber.org/streams' to='test.server' xml:lang='en'>", "<stream:stream xmlns='jabber:client' version='1.0' xmlns:stream='http://etherx.jabber.org/streams' to='test.server' from='polynomdivision@test.server' xml:lang='en'>",
''' '''
<stream:stream <stream:stream
xmlns="jabber:client" xmlns="jabber:client"

View File

@ -9,7 +9,7 @@ void main() {
test('Test simple Bind2 negotiation', () async { test('Test simple Bind2 negotiation', () async {
final fakeSocket = StubTCPSocket([ final fakeSocket = StubTCPSocket([
StringExpectation( StringExpectation(
"<stream:stream xmlns='jabber:client' version='1.0' xmlns:stream='http://etherx.jabber.org/streams' to='test.server' xml:lang='en'>", "<stream:stream xmlns='jabber:client' version='1.0' xmlns:stream='http://etherx.jabber.org/streams' to='test.server' from='polynomdivision@test.server' xml:lang='en'>",
''' '''
<stream:stream <stream:stream
xmlns="jabber:client" xmlns="jabber:client"
@ -82,7 +82,7 @@ void main() {
test('Test simple Bind2 negotiation with a provided tag', () async { test('Test simple Bind2 negotiation with a provided tag', () async {
final fakeSocket = StubTCPSocket([ final fakeSocket = StubTCPSocket([
StringExpectation( StringExpectation(
"<stream:stream xmlns='jabber:client' version='1.0' xmlns:stream='http://etherx.jabber.org/streams' to='test.server' xml:lang='en'>", "<stream:stream xmlns='jabber:client' version='1.0' xmlns:stream='http://etherx.jabber.org/streams' to='test.server' from='polynomdivision@test.server' xml:lang='en'>",
''' '''
<stream:stream <stream:stream
xmlns="jabber:client" xmlns="jabber:client"

View File

@ -61,7 +61,7 @@ void main() {
test('Test simple SASL2 negotiation', () async { test('Test simple SASL2 negotiation', () async {
final fakeSocket = StubTCPSocket([ final fakeSocket = StubTCPSocket([
StringExpectation( StringExpectation(
"<stream:stream xmlns='jabber:client' version='1.0' xmlns:stream='http://etherx.jabber.org/streams' to='test.server' xml:lang='en'>", "<stream:stream xmlns='jabber:client' version='1.0' xmlns:stream='http://etherx.jabber.org/streams' to='test.server' from='polynomdivision@test.server' xml:lang='en'>",
''' '''
<stream:stream <stream:stream
xmlns="jabber:client" xmlns="jabber:client"
@ -137,7 +137,7 @@ void main() {
test('Test SCRAM-SHA-1 SASL2 negotiation with a valid signature', () async { test('Test SCRAM-SHA-1 SASL2 negotiation with a valid signature', () async {
final fakeSocket = StubTCPSocket([ final fakeSocket = StubTCPSocket([
StringExpectation( StringExpectation(
"<stream:stream xmlns='jabber:client' version='1.0' xmlns:stream='http://etherx.jabber.org/streams' to='server' xml:lang='en'>", "<stream:stream xmlns='jabber:client' version='1.0' xmlns:stream='http://etherx.jabber.org/streams' to='server' from='user@server' xml:lang='en'>",
''' '''
<stream:stream <stream:stream
xmlns="jabber:client" xmlns="jabber:client"
@ -224,7 +224,7 @@ void main() {
() async { () async {
final fakeSocket = StubTCPSocket([ final fakeSocket = StubTCPSocket([
StringExpectation( StringExpectation(
"<stream:stream xmlns='jabber:client' version='1.0' xmlns:stream='http://etherx.jabber.org/streams' to='server' xml:lang='en'>", "<stream:stream xmlns='jabber:client' version='1.0' xmlns:stream='http://etherx.jabber.org/streams' to='server' from='user@server' xml:lang='en'>",
''' '''
<stream:stream <stream:stream
xmlns="jabber:client" xmlns="jabber:client"
@ -303,7 +303,7 @@ void main() {
test('Test simple SASL2 inlining', () async { test('Test simple SASL2 inlining', () async {
final fakeSocket = StubTCPSocket([ final fakeSocket = StubTCPSocket([
StringExpectation( StringExpectation(
"<stream:stream xmlns='jabber:client' version='1.0' xmlns:stream='http://etherx.jabber.org/streams' to='test.server' xml:lang='en'>", "<stream:stream xmlns='jabber:client' version='1.0' xmlns:stream='http://etherx.jabber.org/streams' to='test.server' from='polynomdivision@test.server' xml:lang='en'>",
''' '''
<stream:stream <stream:stream
xmlns="jabber:client" xmlns="jabber:client"
@ -389,7 +389,7 @@ void main() {
test('Test simple SASL2 inlining 2', () async { test('Test simple SASL2 inlining 2', () async {
final fakeSocket = StubTCPSocket([ final fakeSocket = StubTCPSocket([
StringExpectation( StringExpectation(
"<stream:stream xmlns='jabber:client' version='1.0' xmlns:stream='http://etherx.jabber.org/streams' to='test.server' xml:lang='en'>", "<stream:stream xmlns='jabber:client' version='1.0' xmlns:stream='http://etherx.jabber.org/streams' to='test.server' from='polynomdivision@test.server' xml:lang='en'>",
''' '''
<stream:stream <stream:stream
xmlns="jabber:client" xmlns="jabber:client"

View File

@ -9,7 +9,7 @@ void main() {
test('Test FAST authentication without a token', () async { test('Test FAST authentication without a token', () async {
final fakeSocket = StubTCPSocket([ final fakeSocket = StubTCPSocket([
StringExpectation( StringExpectation(
"<stream:stream xmlns='jabber:client' version='1.0' xmlns:stream='http://etherx.jabber.org/streams' to='test.server' xml:lang='en'>", "<stream:stream xmlns='jabber:client' version='1.0' xmlns:stream='http://etherx.jabber.org/streams' to='test.server' from='polynomdivision@test.server' xml:lang='en'>",
''' '''
<stream:stream <stream:stream
xmlns="jabber:client" xmlns="jabber:client"
@ -60,7 +60,7 @@ void main() {
'', '',
), ),
StringExpectation( StringExpectation(
"<stream:stream xmlns='jabber:client' version='1.0' xmlns:stream='http://etherx.jabber.org/streams' to='test.server' xml:lang='en'>", "<stream:stream xmlns='jabber:client' version='1.0' xmlns:stream='http://etherx.jabber.org/streams' to='test.server' from='polynomdivision@test.server' xml:lang='en'>",
''' '''
<stream:stream <stream:stream
xmlns="jabber:client" xmlns="jabber:client"
@ -164,7 +164,7 @@ void main() {
test('Test failed FAST authentication with a token', () async { test('Test failed FAST authentication with a token', () async {
final fakeSocket = StubTCPSocket([ final fakeSocket = StubTCPSocket([
StringExpectation( StringExpectation(
"<stream:stream xmlns='jabber:client' version='1.0' xmlns:stream='http://etherx.jabber.org/streams' to='test.server' xml:lang='en'>", "<stream:stream xmlns='jabber:client' version='1.0' xmlns:stream='http://etherx.jabber.org/streams' to='test.server' from='polynomdivision@test.server' xml:lang='en'>",
''' '''
<stream:stream <stream:stream
xmlns="jabber:client" xmlns="jabber:client"

View File

@ -70,7 +70,7 @@ void main() {
final fakeSocket = StubTCPSocket( final fakeSocket = StubTCPSocket(
[ [
StringExpectation( StringExpectation(
"<stream:stream xmlns='jabber:client' version='1.0' xmlns:stream='http://etherx.jabber.org/streams' to='test.server' xml:lang='en'>", "<stream:stream xmlns='jabber:client' version='1.0' xmlns:stream='http://etherx.jabber.org/streams' to='test.server' from='polynomdivision@test.server' xml:lang='en'>",
''' '''
<stream:stream <stream:stream
xmlns="jabber:client" xmlns="jabber:client"
@ -89,7 +89,7 @@ void main() {
'<success xmlns="urn:ietf:params:xml:ns:xmpp-sasl" />', '<success xmlns="urn:ietf:params:xml:ns:xmpp-sasl" />',
), ),
StringExpectation( StringExpectation(
"<stream:stream xmlns='jabber:client' version='1.0' xmlns:stream='http://etherx.jabber.org/streams' to='test.server' xml:lang='en'>", "<stream:stream xmlns='jabber:client' version='1.0' xmlns:stream='http://etherx.jabber.org/streams' to='test.server' from='polynomdivision@test.server' xml:lang='en'>",
''' '''
<stream:stream <stream:stream
xmlns="jabber:client" xmlns="jabber:client"
@ -157,7 +157,7 @@ void main() {
final fakeSocket = StubTCPSocket( final fakeSocket = StubTCPSocket(
[ [
StringExpectation( StringExpectation(
"<stream:stream xmlns='jabber:client' version='1.0' xmlns:stream='http://etherx.jabber.org/streams' to='test.server' xml:lang='en'>", "<stream:stream xmlns='jabber:client' version='1.0' xmlns:stream='http://etherx.jabber.org/streams' to='test.server' from='polynomdivision@test.server' xml:lang='en'>",
''' '''
<stream:stream <stream:stream
xmlns="jabber:client" xmlns="jabber:client"
@ -216,7 +216,7 @@ void main() {
final fakeSocket = StubTCPSocket( final fakeSocket = StubTCPSocket(
[ [
StringExpectation( StringExpectation(
"<stream:stream xmlns='jabber:client' version='1.0' xmlns:stream='http://etherx.jabber.org/streams' to='test.server' xml:lang='en'>", "<stream:stream xmlns='jabber:client' version='1.0' xmlns:stream='http://etherx.jabber.org/streams' to='test.server' from='polynomdivision@test.server' xml:lang='en'>",
''' '''
<stream:stream <stream:stream
xmlns="jabber:client" xmlns="jabber:client"
@ -379,7 +379,7 @@ void main() {
final fakeSocket = StubTCPSocket( final fakeSocket = StubTCPSocket(
[ [
StringExpectation( StringExpectation(
"<stream:stream xmlns='jabber:client' version='1.0' xmlns:stream='http://etherx.jabber.org/streams' to='example.org' xml:lang='en'>", "<stream:stream xmlns='jabber:client' version='1.0' xmlns:stream='http://etherx.jabber.org/streams' to='example.org' from='testuser@example.org' xml:lang='en'>",
''' '''
<stream:stream <stream:stream
xmlns="jabber:client" xmlns="jabber:client"