Browse Source

test(nextcloud): Get capabilities with all apps disabled

Signed-off-by: jld3103 <jld3103yt@gmail.com>
pull/596/head
jld3103 2 years ago
parent
commit
0c5ed95cf9
No known key found for this signature in database
GPG Key ID: 9062417B9E8EB7B3
  1. 35
      packages/nextcloud/test/core_test.dart
  2. 31
      packages/nextcloud/test/helper.dart

35
packages/nextcloud/test/core_test.dart

@ -1,6 +1,8 @@
@Retry(3)
library core_test;
import 'dart:convert';
import 'package:nextcloud/nextcloud.dart';
import 'package:test/test.dart';
@ -58,6 +60,39 @@ void main() {
expect(capabilities.ocs.data.capabilities.theming!.favicon, isNotEmpty);
});
test('Get capabilities with all apps disabled', () async {
// According to https://github.com/nextcloud/server/blob/master/core/shipped.json `alwaysEnabled`
const requiredApps = [
'files',
'cloud_federation_api',
'dav',
'federatedfilesharing',
'lookup_server_connector',
'provisioning_api',
'oauth2',
'settings',
'theming',
'twofactor_backupcodes',
'viewer',
'workflowengine',
];
final listResult = await container.runOccCommand(['app:list', '--output=json']);
expect(listResult.exitCode, 0);
final apps =
((json.decode(listResult.stdout as String) as Map<String, dynamic>)['enabled'] as Map<String, dynamic>).keys;
for (final app in apps.where((final app) => !requiredApps.contains(app))) {
final disableResult = await container.runOccCommand(['app:disable', app]);
expect(disableResult.exitCode, 0);
}
final capabilities = await client.core.ocs.getCapabilities();
expect(capabilities.ocs.data.version.major, coreSupportedVersion);
expect(capabilities.ocs.data.version.string, startsWith('$coreSupportedVersion.'));
});
test('Get navigation apps', () async {
final navigationApps = await client.core.navigation.getAppsNavigation();
expect(navigationApps.ocs.data, hasLength(6));

31
packages/nextcloud/test/helper.dart

@ -17,24 +17,19 @@ class DockerContainer {
final int port;
Future runOccCommand(final List<String> args) async {
final result = await runExecutableArguments(
'docker',
[
'exec',
id,
'php',
'-f',
'occ',
...args,
],
stdout: stdout,
stderr: stderr,
);
if (result.exitCode != 0) {
throw Exception('Failed to run occ command');
}
}
Future<ProcessResult> runOccCommand(final List<String> args) async => runExecutableArguments(
'docker',
[
'exec',
id,
'php',
'-f',
'occ',
...args,
],
stdoutEncoding: utf8,
stderrEncoding: utf8,
);
void destroy() => unawaited(
runExecutableArguments(

Loading…
Cancel
Save