test: Fix test failures

This commit is contained in:
PapaTutuWawa 2022-07-28 22:49:54 +02:00
parent 3bb273a88b
commit e08a175798
4 changed files with 48 additions and 59 deletions

View File

@ -7,7 +7,6 @@ import 'package:moxxyv2/xmpp/reconnect.dart';
import 'package:moxxyv2/xmpp/roster.dart'; import 'package:moxxyv2/xmpp/roster.dart';
import 'package:moxxyv2/xmpp/settings.dart'; import 'package:moxxyv2/xmpp/settings.dart';
import 'package:moxxyv2/xmpp/stringxml.dart'; import 'package:moxxyv2/xmpp/stringxml.dart';
import 'package:moxxyv2/xmpp/xeps/xep_0030/cachemanager.dart';
import 'package:moxxyv2/xmpp/xeps/xep_0030/xep_0030.dart'; import 'package:moxxyv2/xmpp/xeps/xep_0030/xep_0030.dart';
import 'package:test/test.dart'; import 'package:test/test.dart';
@ -75,7 +74,6 @@ void main() {
RosterManager(), RosterManager(),
DiscoManager(), DiscoManager(),
PingManager(), PingManager(),
DiscoCacheManager(),
]) ])
..setConnectionSettings( ..setConnectionSettings(
ConnectionSettings( ConnectionSettings(

View File

@ -1,4 +1,5 @@
import 'package:cryptography/cryptography.dart'; import 'package:cryptography/cryptography.dart';
import 'package:moxxyv2/xmpp/jid.dart';
import 'package:moxxyv2/xmpp/stringxml.dart'; import 'package:moxxyv2/xmpp/stringxml.dart';
import 'package:moxxyv2/xmpp/xeps/xep_0004.dart'; import 'package:moxxyv2/xmpp/xeps/xep_0004.dart';
import 'package:moxxyv2/xmpp/xeps/xep_0030/helpers.dart'; import 'package:moxxyv2/xmpp/xeps/xep_0030/helpers.dart';
@ -7,21 +8,22 @@ import 'package:test/test.dart';
void main() { void main() {
test('Test XEP example', () async { test('Test XEP example', () async {
const data = DiscoInfo( final data = DiscoInfo(
features: [ [
'http://jabber.org/protocol/caps', 'http://jabber.org/protocol/caps',
'http://jabber.org/protocol/disco#info', 'http://jabber.org/protocol/disco#info',
'http://jabber.org/protocol/disco#items', 'http://jabber.org/protocol/disco#items',
'http://jabber.org/protocol/muc' 'http://jabber.org/protocol/muc'
], ],
identities: [ [
Identity( Identity(
category: 'client', category: 'client',
type: 'pc', type: 'pc',
name: 'Exodus 0.9.1', name: 'Exodus 0.9.1',
) )
], ],
extendedInfo: [], [],
JID.fromString('some@user.local/test'),
); );
final hash = await calculateCapabilityHash(data, Sha1()); final hash = await calculateCapabilityHash(data, Sha1());
@ -31,7 +33,13 @@ void main() {
test('Test complex generation example', () async { test('Test complex generation example', () async {
const extDiscoDataString = "<x xmlns='jabber:x:data' type='result'><field var='FORM_TYPE' type='hidden'><value>urn:xmpp:dataforms:softwareinfo</value></field><field var='ip_version' type='text-multi' ><value>ipv4</value><value>ipv6</value></field><field var='os'><value>Mac</value></field><field var='os_version'><value>10.5.1</value></field><field var='software'><value>Psi</value></field><field var='software_version'><value>0.11</value></field></x>"; const extDiscoDataString = "<x xmlns='jabber:x:data' type='result'><field var='FORM_TYPE' type='hidden'><value>urn:xmpp:dataforms:softwareinfo</value></field><field var='ip_version' type='text-multi' ><value>ipv4</value><value>ipv6</value></field><field var='os'><value>Mac</value></field><field var='os_version'><value>10.5.1</value></field><field var='software'><value>Psi</value></field><field var='software_version'><value>0.11</value></field></x>";
final data = DiscoInfo( final data = DiscoInfo(
identities: [ [
'http://jabber.org/protocol/caps',
'http://jabber.org/protocol/disco#info',
'http://jabber.org/protocol/disco#items',
'http://jabber.org/protocol/muc'
],
[
const Identity( const Identity(
category: 'client', category: 'client',
type: 'pc', type: 'pc',
@ -45,13 +53,8 @@ void main() {
lang: 'el', lang: 'el',
), ),
], ],
features: [ [ parseDataForm(XMLNode.fromString(extDiscoDataString)) ],
'http://jabber.org/protocol/caps', JID.fromString('some@user.local/test'),
'http://jabber.org/protocol/disco#info',
'http://jabber.org/protocol/disco#items',
'http://jabber.org/protocol/muc'
],
extendedInfo: [ parseDataForm(XMLNode.fromString(extDiscoDataString)) ],
); );
final hash = await calculateCapabilityHash(data, Sha1()); final hash = await calculateCapabilityHash(data, Sha1());
@ -118,8 +121,8 @@ void main() {
}); });
test('Test Conversations hash computation', () async { test('Test Conversations hash computation', () async {
const data = DiscoInfo( final data = DiscoInfo(
features: [ [
'eu.siacs.conversations.axolotl.devicelist+notify', 'eu.siacs.conversations.axolotl.devicelist+notify',
'http://jabber.org/protocol/caps', 'http://jabber.org/protocol/caps',
'http://jabber.org/protocol/chatstates', 'http://jabber.org/protocol/chatstates',
@ -151,14 +154,15 @@ void main() {
'urn:xmpp:receipts', 'urn:xmpp:receipts',
'urn:xmpp:time' 'urn:xmpp:time'
], ],
identities: [ [
Identity( Identity(
category: 'client', category: 'client',
type: 'phone', type: 'phone',
name: 'Conversations', name: 'Conversations',
) )
], ],
extendedInfo: [], [],
JID.fromString('user@server.local/test'),
); );
final hash = await calculateCapabilityHash(data, Sha1()); final hash = await calculateCapabilityHash(data, Sha1());

View File

@ -14,7 +14,6 @@ import 'package:moxxyv2/xmpp/roster.dart';
import 'package:moxxyv2/xmpp/settings.dart'; import 'package:moxxyv2/xmpp/settings.dart';
import 'package:moxxyv2/xmpp/stanza.dart'; import 'package:moxxyv2/xmpp/stanza.dart';
import 'package:moxxyv2/xmpp/stringxml.dart'; import 'package:moxxyv2/xmpp/stringxml.dart';
import 'package:moxxyv2/xmpp/xeps/xep_0030/cachemanager.dart';
import 'package:moxxyv2/xmpp/xeps/xep_0030/xep_0030.dart'; import 'package:moxxyv2/xmpp/xeps/xep_0030/xep_0030.dart';
import 'package:moxxyv2/xmpp/xeps/xep_0198/negotiator.dart'; import 'package:moxxyv2/xmpp/xeps/xep_0198/negotiator.dart';
import 'package:moxxyv2/xmpp/xeps/xep_0198/state.dart'; import 'package:moxxyv2/xmpp/xeps/xep_0198/state.dart';
@ -322,10 +321,8 @@ void main() {
PresenceManager(), PresenceManager(),
RosterManager(), RosterManager(),
DiscoManager(), DiscoManager(),
DiscoCacheManager(),
PingManager(), PingManager(),
StreamManagementManager(), StreamManagementManager(),
DiscoCacheManager(),
]); ]);
conn.registerFeatureNegotiators( conn.registerFeatureNegotiators(
[ [
@ -336,14 +333,14 @@ void main() {
); );
await conn.connect(); await conn.connect();
await Future.delayed(const Duration(seconds: 3), () { await Future.delayed(const Duration(seconds: 3));
expect(fakeSocket.getState(), 5);
expect(conn.getConnectionState(), XmppConnectionState.connected); expect(fakeSocket.getState(), 6);
expect( expect(conn.getConnectionState(), XmppConnectionState.connected);
conn.getManagerById<StreamManagementManager>(smManager)!.isStreamManagementEnabled(), expect(
true, conn.getManagerById<StreamManagementManager>(smManager)!.isStreamManagementEnabled(),
); true,
}); );
}); });
test('Test a failed stream resumption', () async { test('Test a failed stream resumption', () async {
@ -416,10 +413,8 @@ void main() {
PresenceManager(), PresenceManager(),
RosterManager(), RosterManager(),
DiscoManager(), DiscoManager(),
DiscoCacheManager(),
PingManager(), PingManager(),
StreamManagementManager(), StreamManagementManager(),
DiscoCacheManager(),
]); ]);
conn.registerFeatureNegotiators( conn.registerFeatureNegotiators(
[ [
@ -439,7 +434,7 @@ void main() {
await conn.connect(); await conn.connect();
await Future.delayed(const Duration(seconds: 3), () { await Future.delayed(const Duration(seconds: 3), () {
expect(fakeSocket.getState(), 6); expect(fakeSocket.getState(), 7);
expect(conn.getConnectionState(), XmppConnectionState.connected); expect(conn.getConnectionState(), XmppConnectionState.connected);
expect( expect(
conn.getManagerById<StreamManagementManager>(smManager)!.isStreamManagementEnabled(), conn.getManagerById<StreamManagementManager>(smManager)!.isStreamManagementEnabled(),
@ -509,10 +504,8 @@ void main() {
PresenceManager(), PresenceManager(),
RosterManager(), RosterManager(),
DiscoManager(), DiscoManager(),
DiscoCacheManager(),
PingManager(), PingManager(),
StreamManagementManager(), StreamManagementManager(),
DiscoCacheManager(),
]); ]);
conn.registerFeatureNegotiators( conn.registerFeatureNegotiators(
[ [
@ -532,7 +525,7 @@ void main() {
await conn.connect(lastResource: 'abc123'); await conn.connect(lastResource: 'abc123');
await Future.delayed(const Duration(seconds: 3), () { await Future.delayed(const Duration(seconds: 3), () {
expect(fakeSocket.getState(), 4); expect(fakeSocket.getState(), 6);
expect(conn.getConnectionState(), XmppConnectionState.connected); expect(conn.getConnectionState(), XmppConnectionState.connected);
final sm = conn.getManagerById<StreamManagementManager>(smManager)!; final sm = conn.getManagerById<StreamManagementManager>(smManager)!;
expect(sm.isStreamManagementEnabled(), true); expect(sm.isStreamManagementEnabled(), true);

View File

@ -15,7 +15,6 @@ import 'package:moxxyv2/xmpp/roster.dart';
import 'package:moxxyv2/xmpp/settings.dart'; import 'package:moxxyv2/xmpp/settings.dart';
import 'package:moxxyv2/xmpp/stanza.dart'; import 'package:moxxyv2/xmpp/stanza.dart';
import 'package:moxxyv2/xmpp/stringxml.dart'; import 'package:moxxyv2/xmpp/stringxml.dart';
import 'package:moxxyv2/xmpp/xeps/xep_0030/cachemanager.dart';
import 'package:moxxyv2/xmpp/xeps/xep_0030/xep_0030.dart'; import 'package:moxxyv2/xmpp/xeps/xep_0030/xep_0030.dart';
import 'package:moxxyv2/xmpp/xeps/xep_0198/negotiator.dart'; import 'package:moxxyv2/xmpp/xeps/xep_0198/negotiator.dart';
import 'package:moxxyv2/xmpp/xeps/xep_0198/xep_0198.dart'; import 'package:moxxyv2/xmpp/xeps/xep_0198/xep_0198.dart';
@ -147,13 +146,11 @@ void main() {
allowPlainAuth: true, allowPlainAuth: true,
),); ),);
conn.registerManagers([ conn.registerManagers([
PresenceManager(), PresenceManager(),
RosterManager(), RosterManager(),
DiscoManager(), DiscoManager(),
DiscoCacheManager(), PingManager(),
PingManager(), StreamManagementManager(),
StreamManagementManager(),
DiscoCacheManager(),
]); ]);
conn.registerFeatureNegotiators( conn.registerFeatureNegotiators(
[ [
@ -166,7 +163,7 @@ void main() {
await conn.connect(); await conn.connect();
await Future.delayed(const Duration(seconds: 3), () { await Future.delayed(const Duration(seconds: 3), () {
expect(fakeSocket.getState(), /*5*/ 4); expect(fakeSocket.getState(), /*6*/ 5);
}); });
}); });
@ -207,7 +204,6 @@ void main() {
RosterManager(), RosterManager(),
DiscoManager(), DiscoManager(),
PingManager(), PingManager(),
DiscoCacheManager(),
]); ]);
conn.registerFeatureNegotiators([ conn.registerFeatureNegotiators([
SaslPlainNegotiator() SaslPlainNegotiator()
@ -258,11 +254,10 @@ void main() {
allowPlainAuth: true, allowPlainAuth: true,
),); ),);
conn.registerManagers([ conn.registerManagers([
PresenceManager(), PresenceManager(),
RosterManager(), RosterManager(),
DiscoManager(), DiscoManager(),
PingManager(), PingManager(),
DiscoCacheManager(),
]); ]);
conn.registerFeatureNegotiators([ conn.registerFeatureNegotiators([
SaslPlainNegotiator() SaslPlainNegotiator()
@ -308,17 +303,16 @@ void main() {
); );
final XmppConnection conn = XmppConnection(TestingReconnectionPolicy(), socket: fakeSocket); final XmppConnection conn = XmppConnection(TestingReconnectionPolicy(), socket: fakeSocket);
conn.setConnectionSettings(ConnectionSettings( conn.setConnectionSettings(ConnectionSettings(
jid: JID.fromString('polynomdivision@test.server'), jid: JID.fromString('polynomdivision@test.server'),
password: 'aaaa', password: 'aaaa',
useDirectTLS: true, useDirectTLS: true,
allowPlainAuth: false, allowPlainAuth: false,
),); ),);
conn.registerManagers([ conn.registerManagers([
PresenceManager(), PresenceManager(),
RosterManager(), RosterManager(),
DiscoManager(), DiscoManager(),
PingManager(), PingManager(),
DiscoCacheManager(),
]); ]);
conn.registerFeatureNegotiators([ conn.registerFeatureNegotiators([
SaslPlainNegotiator(), SaslPlainNegotiator(),