Merge branch 'tests-enhance-coverage' into 'master'
[Tests] Add more tests See merge request famedly/famedlysdk!48
This commit is contained in:
commit
036e50b1d1
|
@ -23,7 +23,9 @@
|
||||||
|
|
||||||
library famedlysdk;
|
library famedlysdk;
|
||||||
|
|
||||||
|
export 'package:famedlysdk/src/requests/SetPushersRequest.dart';
|
||||||
export 'package:famedlysdk/src/responses/ErrorResponse.dart';
|
export 'package:famedlysdk/src/responses/ErrorResponse.dart';
|
||||||
|
export 'package:famedlysdk/src/responses/PushrulesResponse.dart';
|
||||||
export 'package:famedlysdk/src/sync/RoomUpdate.dart';
|
export 'package:famedlysdk/src/sync/RoomUpdate.dart';
|
||||||
export 'package:famedlysdk/src/sync/EventUpdate.dart';
|
export 'package:famedlysdk/src/sync/EventUpdate.dart';
|
||||||
export 'package:famedlysdk/src/utils/ChatTime.dart';
|
export 'package:famedlysdk/src/utils/ChatTime.dart';
|
||||||
|
|
|
@ -255,7 +255,7 @@ class Client {
|
||||||
}
|
}
|
||||||
|
|
||||||
/// This endpoint allows the creation, modification and deletion of pushers for this user ID.
|
/// This endpoint allows the creation, modification and deletion of pushers for this user ID.
|
||||||
Future setPushers(SetPushersRequest data) async {
|
Future<dynamic> setPushers(SetPushersRequest data) async {
|
||||||
final dynamic resp = await connection.jsonRequest(
|
final dynamic resp = await connection.jsonRequest(
|
||||||
type: HTTPType.POST,
|
type: HTTPType.POST,
|
||||||
action: "/client/r0/pushers/set",
|
action: "/client/r0/pushers/set",
|
||||||
|
@ -264,9 +264,8 @@ class Client {
|
||||||
|
|
||||||
if (resp is ErrorResponse) {
|
if (resp is ErrorResponse) {
|
||||||
connection.onError.add(resp);
|
connection.onError.add(resp);
|
||||||
return null;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return null;
|
return resp;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -170,11 +170,12 @@ class Event {
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Removes this event if the status is < 1. This event will just be removed
|
/// Removes this event if the status is < 1. This event will just be removed
|
||||||
/// from the database and the timelines.
|
/// from the database and the timelines. Returns false if not removed.
|
||||||
Future<dynamic> remove() async {
|
Future<bool> remove() async {
|
||||||
if (status < 1) {
|
if (status < 1) {
|
||||||
if (room.client.store != null)
|
if (room.client.store != null)
|
||||||
room.client.store.db.rawDelete("DELETE FROM Events WHERE id=?", [id]);
|
await room.client.store.db
|
||||||
|
.rawDelete("DELETE FROM Events WHERE id=?", [id]);
|
||||||
|
|
||||||
room.client.connection.onEvent.add(EventUpdate(
|
room.client.connection.onEvent.add(EventUpdate(
|
||||||
roomID: room.id,
|
roomID: room.id,
|
||||||
|
@ -185,7 +186,9 @@ class Event {
|
||||||
"status": -2,
|
"status": -2,
|
||||||
"content": {"body": "Removed..."}
|
"content": {"body": "Removed..."}
|
||||||
}));
|
}));
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Try to send this event again. Only works with events of status -1.
|
/// Try to send this event again. Only works with events of status -1.
|
||||||
|
|
|
@ -26,6 +26,7 @@ import 'dart:async';
|
||||||
import 'package:famedlysdk/src/Client.dart';
|
import 'package:famedlysdk/src/Client.dart';
|
||||||
import 'package:famedlysdk/src/Connection.dart';
|
import 'package:famedlysdk/src/Connection.dart';
|
||||||
import 'package:famedlysdk/src/User.dart';
|
import 'package:famedlysdk/src/User.dart';
|
||||||
|
import 'package:famedlysdk/src/requests/SetPushersRequest.dart';
|
||||||
import 'package:famedlysdk/src/responses/ErrorResponse.dart';
|
import 'package:famedlysdk/src/responses/ErrorResponse.dart';
|
||||||
import 'package:famedlysdk/src/responses/PushrulesResponse.dart';
|
import 'package:famedlysdk/src/responses/PushrulesResponse.dart';
|
||||||
import 'package:famedlysdk/src/sync/EventUpdate.dart';
|
import 'package:famedlysdk/src/sync/EventUpdate.dart';
|
||||||
|
@ -248,6 +249,26 @@ void main() {
|
||||||
expect(pushrules.toJson(), awaited_resp.toJson());
|
expect(pushrules.toJson(), awaited_resp.toJson());
|
||||||
});
|
});
|
||||||
|
|
||||||
|
test('setPushers', () async {
|
||||||
|
final SetPushersRequest data = SetPushersRequest(
|
||||||
|
app_id: "com.famedly.famedlysdk",
|
||||||
|
device_display_name: "GitLabCi",
|
||||||
|
app_display_name: "famedlySDK",
|
||||||
|
pushkey: "abcdefg",
|
||||||
|
kind: "http",
|
||||||
|
lang: "en",
|
||||||
|
data: PusherData(
|
||||||
|
format: "event_id_only", url: "https://examplepushserver.com"));
|
||||||
|
final dynamic resp = await matrix.setPushers(data);
|
||||||
|
expect(resp is ErrorResponse, false);
|
||||||
|
});
|
||||||
|
|
||||||
|
test('joinRoomById', () async {
|
||||||
|
final String roomID = "1234";
|
||||||
|
final Map<String, dynamic> resp = await matrix.joinRoomById(roomID);
|
||||||
|
expect(resp["room_id"], roomID);
|
||||||
|
});
|
||||||
|
|
||||||
test('Logout when token is unknown', () async {
|
test('Logout when token is unknown', () async {
|
||||||
Future<LoginState> loginStateFuture =
|
Future<LoginState> loginStateFuture =
|
||||||
matrix.connection.onLoginStateChanged.stream.first;
|
matrix.connection.onLoginStateChanged.stream.first;
|
||||||
|
|
|
@ -23,10 +23,13 @@
|
||||||
|
|
||||||
import 'dart:convert';
|
import 'dart:convert';
|
||||||
|
|
||||||
|
import 'package:famedlysdk/famedlysdk.dart';
|
||||||
import 'package:famedlysdk/src/Event.dart';
|
import 'package:famedlysdk/src/Event.dart';
|
||||||
import 'package:famedlysdk/src/User.dart';
|
import 'package:famedlysdk/src/User.dart';
|
||||||
import 'package:flutter_test/flutter_test.dart';
|
import 'package:flutter_test/flutter_test.dart';
|
||||||
|
|
||||||
|
import 'FakeMatrixApi.dart';
|
||||||
|
|
||||||
void main() {
|
void main() {
|
||||||
/// All Tests related to the Event
|
/// All Tests related to the Event
|
||||||
group("Event", () {
|
group("Event", () {
|
||||||
|
@ -157,5 +160,30 @@ void main() {
|
||||||
event = Event.fromJson(jsonObj, null);
|
event = Event.fromJson(jsonObj, null);
|
||||||
expect(event.type, EventTypes.Reply);
|
expect(event.type, EventTypes.Reply);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
test("remove", () async {
|
||||||
|
Event event = Event.fromJson(
|
||||||
|
jsonObj, Room(id: "1234", client: Client("testclient", debug: true)));
|
||||||
|
final bool removed1 = await event.remove();
|
||||||
|
event.status = 0;
|
||||||
|
final bool removed2 = await event.remove();
|
||||||
|
expect(removed1, false);
|
||||||
|
expect(removed2, true);
|
||||||
|
});
|
||||||
|
|
||||||
|
test("sendAgain", () async {
|
||||||
|
Client matrix = Client("testclient", debug: true);
|
||||||
|
matrix.connection.httpClient = FakeMatrixApi();
|
||||||
|
await matrix.checkServer("https://fakeServer.notExisting");
|
||||||
|
await matrix.login("test", "1234");
|
||||||
|
|
||||||
|
Event event = Event.fromJson(
|
||||||
|
jsonObj, Room(id: "!1234:example.com", client: matrix));
|
||||||
|
final String resp1 = await event.sendAgain();
|
||||||
|
event.status = -1;
|
||||||
|
final String resp2 = await event.sendAgain(txid: "1234");
|
||||||
|
expect(resp1, null);
|
||||||
|
expect(resp2, "42");
|
||||||
|
});
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
|
@ -451,6 +451,8 @@ class FakeMatrixApi extends MockClient {
|
||||||
"device_id": "GHTYAJCE"
|
"device_id": "GHTYAJCE"
|
||||||
},
|
},
|
||||||
"/client/r0/logout": (var reqI) => {},
|
"/client/r0/logout": (var reqI) => {},
|
||||||
|
"/client/r0/pushers/set": (var reqI) => {},
|
||||||
|
"/client/r0/join/1234": (var reqI) => {"room_id": "1234"},
|
||||||
"/client/r0/logout/all": (var reqI) => {},
|
"/client/r0/logout/all": (var reqI) => {},
|
||||||
"/client/r0/createRoom": (var reqI) => {
|
"/client/r0/createRoom": (var reqI) => {
|
||||||
"room_id": "!1234:fakeServer.notExisting",
|
"room_id": "!1234:fakeServer.notExisting",
|
||||||
|
|
Loading…
Reference in a new issue