import 'dart:io'; import 'package:scp_meta/location.dart'; import 'package:test/test.dart'; void main() { group('SCP simple as [user@]host:[path]', () { test('SCP as user@host:path', () { Location location = Location('username@plzen1:etc/file.txt'); expect(location.path, 'etc/file.txt'); expect(location.user, 'username'); expect(location.host, 'plzen1'); }); test('SCP as host:file', () { Location location = Location( 'storage-plzen1.metacentrum.cz:etc/file.txt'); expect(location.path, 'etc/file.txt'); expect(location.user, null); expect(location.host, 'storage-plzen1.metacentrum.cz'); }); test('SCP as host:', () { Location location = Location('brno6.metacentrum.cz:'); expect(location.path, null); expect(location.user, null); expect(location.host, 'brno6.metacentrum.cz'); }); }); group('SCP URI as scp://[user@]host[:port][/path]', () { test('scp://user@host:port/path', () { Location location = Location('scp://_user-2@praha1:2222/tmp'); expect(location.user, '_user-2'); expect(location.host, 'praha1'); expect(location.path, '/tmp'); expect(location.port, '2222'); }); test('scp://user@host', () { Location location = Location('scp://123456@storage-brno2'); expect(location.user, '123456'); expect(location.host, 'storage-brno2'); expect(location.path, null); expect(location.port, null); }); test('scp://host', () { Location location = Location('scp://pruhonice1'); expect(location.user, null); expect(location.host, 'pruhonice1'); expect(location.path, null); expect(location.port, null); }); }); group('PATH', () { test('absolute path as /.*', () { Location location = Location('/home/test/_list/.config'); expect(location.user, null); expect(location.host, null); expect(location.path, '/home/test/_list/.config'); expect(location.port, null); }); test('relative path as .*', () { Location location = Location('../test/_file'); expect(location.user, null); expect(location.host, null); expect(location.path, File('../test/_file').absolute.path); expect(location.port, null); }); test('home dir on NFS storage', () { Location location = Location('storage-praha1:~/test/_file'); expect(location.user, null); expect(location.host, 'storage-praha1'); expect(location.path, '~/test/_file'); expect(location.port, null); }); }); }