mirror of
https://github.com/kellyjonbrazil/jc.git
synced 2026-04-24 20:56:11 +02:00
add rsync-s tests
This commit is contained in:
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
|
||||
[{"type":"file","filename":"some/dir/new-file.txt","metadata":">f+++++++++","update_type":"file received","file_type":"file","checksum_or_value_different":null,"size_different":null,"modification_time_different":null,"permissions_different":null,"owner_different":null,"group_different":null,"acl_different":null,"extended_attribute_different":null},{"type":"file","filename":"some/dir/existing-file-with-changed-owner-and-group.txt","metadata":".f....og..x","update_type":"not updated","file_type":"file","checksum_or_value_different":false,"size_different":false,"modification_time_different":false,"permissions_different":false,"owner_different":true,"group_different":true,"acl_different":false,"extended_attribute_different":true},{"type":"file","filename":"some/dir/existing-file-with-changed-unnamed-attribute.txt","metadata":".f........x","update_type":"not updated","file_type":"file","checksum_or_value_different":false,"size_different":false,"modification_time_different":false,"permissions_different":false,"owner_different":false,"group_different":false,"acl_different":false,"extended_attribute_different":true},{"type":"file","filename":"some/dir/existing-file-with-changed-permissions.txt","metadata":">f...p....x","update_type":"file received","file_type":"file","checksum_or_value_different":false,"size_different":false,"modification_time_different":false,"permissions_different":true,"owner_different":false,"group_different":false,"acl_different":false,"extended_attribute_different":true},{"type":"file","filename":"some/dir/existing-file-with-changed-time-and-group.txt","metadata":">f..t..g..x","update_type":"file received","file_type":"file","checksum_or_value_different":false,"size_different":false,"modification_time_different":true,"permissions_different":false,"owner_different":false,"group_different":true,"acl_different":false,"extended_attribute_different":true},{"type":"file","filename":"some/dir/existing-file-with-changed-size.txt","metadata":">f.s......x","update_type":"file received","file_type":"file","checksum_or_value_different":false,"size_different":true,"modification_time_different":false,"permissions_different":false,"owner_different":false,"group_different":false,"acl_different":false,"extended_attribute_different":true},{"type":"file","filename":"some/dir/existing-file-with-changed-size-and-time-stamp.txt ","metadata":">f.st.....x","update_type":"file received","file_type":"file","checksum_or_value_different":false,"size_different":true,"modification_time_different":true,"permissions_different":false,"owner_different":false,"group_different":false,"acl_different":false,"extended_attribute_different":true},{"type":"file","filename":"some/dir/new-directory/","metadata":"cd+++++++++","update_type":"local change or creation","file_type":"directory","checksum_or_value_different":null,"size_different":null,"modification_time_different":null,"permissions_different":null,"owner_different":null,"group_different":null,"acl_different":null,"extended_attribute_different":null},{"type":"file","filename":"some/dir/existing-directory-with-changed-owner-and-group/","metadata":".d....og...","update_type":"not updated","file_type":"directory","checksum_or_value_different":false,"size_different":false,"modification_time_different":false,"permissions_different":false,"owner_different":true,"group_different":true,"acl_different":false,"extended_attribute_different":false},{"type":"file","filename":"some/dir/existing-directory-with-different-time-stamp/","metadata":".d..t......","update_type":"not updated","file_type":"directory","checksum_or_value_different":false,"size_different":false,"modification_time_different":true,"permissions_different":false,"owner_different":false,"group_different":false,"acl_different":false,"extended_attribute_different":false}]
|
||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
|
||||
[{"type":"file","filename":"./","metadata":".d ","update_type":"not updated","file_type":"directory","checksum_or_value_different":null,"size_different":null,"modification_time_different":null,"permissions_different":null,"owner_different":null,"group_different":null},{"type":"file","filename":"a.txt","metadata":".f ","update_type":"not updated","file_type":"file","checksum_or_value_different":null,"size_different":null,"modification_time_different":null,"permissions_different":null,"owner_different":null,"group_different":null},{"type":"file","filename":"b.txt","metadata":".f ","update_type":"not updated","file_type":"file","checksum_or_value_different":null,"size_different":null,"modification_time_different":null,"permissions_different":null,"owner_different":null,"group_different":null},{"type":"file","filename":"c.txt","metadata":".f ","update_type":"not updated","file_type":"file","checksum_or_value_different":null,"size_different":null,"modification_time_different":null,"permissions_different":null,"owner_different":null,"group_different":null},{"type":"file","filename":"d.txt","metadata":".f ","update_type":"not updated","file_type":"file","checksum_or_value_different":null,"size_different":null,"modification_time_different":null,"permissions_different":null,"owner_different":null,"group_different":null},{"type":"file","filename":"folder/","metadata":".d ","update_type":"not updated","file_type":"directory","checksum_or_value_different":null,"size_different":null,"modification_time_different":null,"permissions_different":null,"owner_different":null,"group_different":null},{"type":"file","filename":"folder/a.txt","metadata":".f ","update_type":"not updated","file_type":"file","checksum_or_value_different":null,"size_different":null,"modification_time_different":null,"permissions_different":null,"owner_different":null,"group_different":null},{"type":"file","filename":"folder/b.txt","metadata":".f ","update_type":"not updated","file_type":"file","checksum_or_value_different":null,"size_different":null,"modification_time_different":null,"permissions_different":null,"owner_different":null,"group_different":null},{"type":"file","filename":"folder/c.txt","metadata":".f ","update_type":"not updated","file_type":"file","checksum_or_value_different":null,"size_different":null,"modification_time_different":null,"permissions_different":null,"owner_different":null,"group_different":null},{"type":"file","filename":"folder/d.txt","metadata":".f ","update_type":"not updated","file_type":"file","checksum_or_value_different":null,"size_different":null,"modification_time_different":null,"permissions_different":null,"owner_different":null,"group_different":null},{"type":"summary","sent":284,"received":80,"bytes_sec":728.0,"total_size":320,"speedup":0.88}]
|
||||
@@ -0,0 +1 @@
|
||||
[{"type":"file","filename":"./","metadata":".d..t....","update_type":"not updated","file_type":"directory","checksum_or_value_different":false,"size_different":false,"modification_time_different":true,"permissions_different":false,"owner_different":false,"group_different":false},{"type":"file","filename":"a.txt","metadata":">f+++++++","update_type":"file received","file_type":"file","checksum_or_value_different":null,"size_different":null,"modification_time_different":null,"permissions_different":null,"owner_different":null,"group_different":null},{"type":"file","filename":"b.txt","metadata":">f+++++++","update_type":"file received","file_type":"file","checksum_or_value_different":null,"size_different":null,"modification_time_different":null,"permissions_different":null,"owner_different":null,"group_different":null},{"type":"file","filename":"c.txt","metadata":">f+++++++","update_type":"file received","file_type":"file","checksum_or_value_different":null,"size_different":null,"modification_time_different":null,"permissions_different":null,"owner_different":null,"group_different":null},{"type":"file","filename":"d.txt","metadata":">f+++++++","update_type":"file received","file_type":"file","checksum_or_value_different":null,"size_different":null,"modification_time_different":null,"permissions_different":null,"owner_different":null,"group_different":null},{"type":"file","filename":"folder/","metadata":"cd+++++++","update_type":"local change or creation","file_type":"directory","checksum_or_value_different":null,"size_different":null,"modification_time_different":null,"permissions_different":null,"owner_different":null,"group_different":null},{"type":"file","filename":"folder/a.txt","metadata":">f+++++++","update_type":"file received","file_type":"file","checksum_or_value_different":null,"size_different":null,"modification_time_different":null,"permissions_different":null,"owner_different":null,"group_different":null},{"type":"file","filename":"folder/b.txt","metadata":">f+++++++","update_type":"file received","file_type":"file","checksum_or_value_different":null,"size_different":null,"modification_time_different":null,"permissions_different":null,"owner_different":null,"group_different":null},{"type":"file","filename":"folder/c.txt","metadata":">f+++++++","update_type":"file received","file_type":"file","checksum_or_value_different":null,"size_different":null,"modification_time_different":null,"permissions_different":null,"owner_different":null,"group_different":null},{"type":"file","filename":"folder/d.txt","metadata":">f+++++++","update_type":"file received","file_type":"file","checksum_or_value_different":null,"size_different":null,"modification_time_different":null,"permissions_different":null,"owner_different":null,"group_different":null},{"type":"summary","sent":924,"received":208,"bytes_sec":2264.0,"total_size":320,"speedup":0.28}]
|
||||
@@ -0,0 +1,179 @@
|
||||
import os
|
||||
import sys
|
||||
import time
|
||||
import json
|
||||
import unittest
|
||||
import jc.parsers.rsync_s
|
||||
|
||||
THIS_DIR = os.path.dirname(os.path.abspath(__file__))
|
||||
|
||||
# Set the timezone on POSIX systems. Need to manually set for Windows tests
|
||||
if not sys.platform.startswith('win32'):
|
||||
os.environ['TZ'] = 'America/Los_Angeles'
|
||||
time.tzset()
|
||||
|
||||
|
||||
# To create streaming output use:
|
||||
# $ cat rsync.out | jc --rsync-s | jello -c > rsync-streaming.json
|
||||
|
||||
|
||||
class MyTests(unittest.TestCase):
|
||||
|
||||
def setUp(self):
|
||||
pass
|
||||
# input
|
||||
with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/centos-7.7/rsync-i.out'), 'r', encoding='utf-8') as f:
|
||||
self.centos_7_7_rsync_i = f.read()
|
||||
|
||||
with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/generic/rsync-i.out'), 'r', encoding='utf-8') as f:
|
||||
self.generic_rsync_i = f.read()
|
||||
|
||||
with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/centos-7.7/rsync-ivvv.out'), 'r', encoding='utf-8') as f:
|
||||
self.centos_7_7_rsync_ivvv = f.read()
|
||||
|
||||
with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/osx-10.14.6/rsync-i-vvv.out'), 'r', encoding='utf-8') as f:
|
||||
self.osx_10_14_6_rsync_ivvv = f.read()
|
||||
|
||||
with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/centos-7.7/rsync-ivvv-nochange.out'), 'r', encoding='utf-8') as f:
|
||||
self.centos_7_7_rsync_ivvv_nochange = f.read()
|
||||
|
||||
with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/osx-10.14.6/rsync-i-vvv-nochange.out'), 'r', encoding='utf-8') as f:
|
||||
self.osx_10_14_6_rsync_ivvv_nochange = f.read()
|
||||
|
||||
with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/centos-7.7/rsync-i-logfile.out'), 'r', encoding='utf-8') as f:
|
||||
self.centos_7_7_rsync_i_logfile = f.read()
|
||||
|
||||
with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/centos-7.7/rsync-i-v-logfile.out'), 'r', encoding='utf-8') as f:
|
||||
self.centos_7_7_rsync_i_v_logfile = f.read()
|
||||
|
||||
with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/centos-7.7/rsync-i-vv-logfile.out'), 'r', encoding='utf-8') as f:
|
||||
self.centos_7_7_rsync_i_vv_logfile = f.read()
|
||||
|
||||
with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/centos-7.7/rsync-i-vvv-logfile.out'), 'r', encoding='utf-8') as f:
|
||||
self.centos_7_7_rsync_i_vvv_logfile = f.read()
|
||||
|
||||
with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/centos-7.7/rsync-i-vvv-logfile-nochange.out'), 'r', encoding='utf-8') as f:
|
||||
self.centos_7_7_rsync_i_vvv_logfile_nochange = f.read()
|
||||
|
||||
with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/osx-10.14.6/rsync-i-vvv-logfile-nochange.out'), 'r', encoding='utf-8') as f:
|
||||
self.osx_10_14_6_rsync_i_vvv_logfile_nochange = f.read()
|
||||
|
||||
# output
|
||||
with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/centos-7.7/rsync-i-streaming.json'), 'r', encoding='utf-8') as f:
|
||||
self.centos_7_7_rsync_i_streaming_json = json.loads(f.read())
|
||||
|
||||
with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/generic/rsync-i-streaming.json'), 'r', encoding='utf-8') as f:
|
||||
self.generic_rsync_i_streaming_json = json.loads(f.read())
|
||||
|
||||
with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/centos-7.7/rsync-ivvv-streaming.json'), 'r', encoding='utf-8') as f:
|
||||
self.centos_7_7_rsync_ivvv_streaming_json = json.loads(f.read())
|
||||
|
||||
with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/osx-10.14.6/rsync-i-vvv-streaming.json'), 'r', encoding='utf-8') as f:
|
||||
self.osx_10_14_6_rsync_ivvv_streaming_json = json.loads(f.read())
|
||||
|
||||
with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/centos-7.7/rsync-ivvv-nochange-streaming.json'), 'r', encoding='utf-8') as f:
|
||||
self.centos_7_7_rsync_ivvv_nochange_streaming_json = json.loads(f.read())
|
||||
|
||||
with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/osx-10.14.6/rsync-i-vvv-nochange-streaming.json'), 'r', encoding='utf-8') as f:
|
||||
self.osx_10_14_6_rsync_ivvv_nochange_streaming_json = json.loads(f.read())
|
||||
|
||||
with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/centos-7.7/rsync-i-logfile-streaming.json'), 'r', encoding='utf-8') as f:
|
||||
self.centos_7_7_rsync_i_logfile_streaming_json = json.loads(f.read())
|
||||
|
||||
with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/centos-7.7/rsync-i-v-logfile-streaming.json'), 'r', encoding='utf-8') as f:
|
||||
self.centos_7_7_rsync_i_v_logfile_streaming_json = json.loads(f.read())
|
||||
|
||||
with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/centos-7.7/rsync-i-vv-logfile-streaming.json'), 'r', encoding='utf-8') as f:
|
||||
self.centos_7_7_rsync_i_vv_logfile_streaming_json = json.loads(f.read())
|
||||
|
||||
with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/centos-7.7/rsync-i-vvv-logfile-streaming.json'), 'r', encoding='utf-8') as f:
|
||||
self.centos_7_7_rsync_i_vvv_logfile_streaming_json = json.loads(f.read())
|
||||
|
||||
with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/centos-7.7/rsync-i-vvv-logfile-nochange-streaming.json'), 'r', encoding='utf-8') as f:
|
||||
self.centos_7_7_rsync_i_vvv_logfile_nochange_streaming_json = json.loads(f.read())
|
||||
|
||||
with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/osx-10.14.6/rsync-i-vvv-logfile-nochange-streaming.json'), 'r', encoding='utf-8') as f:
|
||||
self.osx_10_14_6_rsync_i_vvv_logfile_nochange_streaming_json = json.loads(f.read())
|
||||
|
||||
def test_rsync_s_nodata(self):
|
||||
"""
|
||||
Test 'rsync' with no data
|
||||
"""
|
||||
self.assertEqual(list(jc.parsers.rsync_s.parse([], quiet=True)), [])
|
||||
|
||||
def test_rsync_s_i_centos_7_7(self):
|
||||
"""
|
||||
Test 'rsync -i' on Centos 7.7
|
||||
"""
|
||||
self.assertEqual(list(jc.parsers.rsync_s.parse(self.centos_7_7_rsync_i.splitlines(), quiet=True)), self.centos_7_7_rsync_i_streaming_json)
|
||||
|
||||
def test_rsync_s_i_generic(self):
|
||||
"""
|
||||
Test 'rsync -i'
|
||||
"""
|
||||
self.assertEqual(list(jc.parsers.rsync_s.parse(self.generic_rsync_i.splitlines(), quiet=True)), self.generic_rsync_i_streaming_json)
|
||||
|
||||
def test_rsync_s_ivvv_centos_7_7(self):
|
||||
"""
|
||||
Test 'rsync -ivvv' on Centos 7.7
|
||||
"""
|
||||
self.assertEqual(list(jc.parsers.rsync_s.parse(self.centos_7_7_rsync_ivvv.splitlines(), quiet=True)), self.centos_7_7_rsync_ivvv_streaming_json)
|
||||
|
||||
def test_rsync_s_ivvv_osx_10_14_6(self):
|
||||
"""
|
||||
Test 'rsync -ivvv' on OSX 10.14.6
|
||||
"""
|
||||
self.assertEqual(list(jc.parsers.rsync_s.parse(self.osx_10_14_6_rsync_ivvv.splitlines(), quiet=True)), self.osx_10_14_6_rsync_ivvv_streaming_json)
|
||||
|
||||
def test_rsync_s_ivvv_nochange_centos_7_7(self):
|
||||
"""
|
||||
Test 'rsync -ivvv' on Centos 7.7 with no file changes
|
||||
"""
|
||||
self.assertEqual(list(jc.parsers.rsync_s.parse(self.centos_7_7_rsync_ivvv_nochange.splitlines(), quiet=True)), self.centos_7_7_rsync_ivvv_nochange_streaming_json)
|
||||
|
||||
def test_rsync_s_ivvv_nochange_osx_10_14_6(self):
|
||||
"""
|
||||
Test 'rsync -ivvv' on OSX 10.14.6 with no file changes
|
||||
"""
|
||||
self.assertEqual(list(jc.parsers.rsync_s.parse(self.osx_10_14_6_rsync_ivvv_nochange.splitlines(), quiet=True)), self.osx_10_14_6_rsync_ivvv_nochange_streaming_json)
|
||||
|
||||
def test_rsync_s_i_logfile_centos_7_7(self):
|
||||
"""
|
||||
Test 'rsync -i --logfile=xxx' on Centos 7.7
|
||||
"""
|
||||
self.assertEqual(list(jc.parsers.rsync_s.parse(self.centos_7_7_rsync_i_logfile.splitlines(), quiet=True)), self.centos_7_7_rsync_i_logfile_streaming_json)
|
||||
|
||||
def test_rsync_s_i_v_logfile_centos_7_7(self):
|
||||
"""
|
||||
Test 'rsync -iv --logfile=xxx' on Centos 7.7
|
||||
"""
|
||||
self.assertEqual(list(jc.parsers.rsync_s.parse(self.centos_7_7_rsync_i_v_logfile.splitlines(), quiet=True)), self.centos_7_7_rsync_i_v_logfile_streaming_json)
|
||||
|
||||
def test_rsync_s_i_vv_logfile_centos_7_7(self):
|
||||
"""
|
||||
Test 'rsync -ivv --logfile=xxx' on Centos 7.7
|
||||
"""
|
||||
self.assertEqual(list(jc.parsers.rsync_s.parse(self.centos_7_7_rsync_i_vv_logfile.splitlines(), quiet=True)), self.centos_7_7_rsync_i_vv_logfile_streaming_json)
|
||||
|
||||
def test_rsync_s_i_vvv_logfile_centos_7_7(self):
|
||||
"""
|
||||
Test 'rsync -ivvv --logfile=xxx' on Centos 7.7
|
||||
"""
|
||||
self.assertEqual(list(jc.parsers.rsync_s.parse(self.centos_7_7_rsync_i_vvv_logfile.splitlines(), quiet=True)), self.centos_7_7_rsync_i_vvv_logfile_streaming_json)
|
||||
|
||||
def test_rsync_s_i_vvv_logfile_nochange_centos_7_7(self):
|
||||
"""
|
||||
Test 'rsync -ivvv --logfile=xxx' on Centos 7.7 with no file changes
|
||||
"""
|
||||
self.assertEqual(list(jc.parsers.rsync_s.parse(self.centos_7_7_rsync_i_vvv_logfile_nochange.splitlines(), quiet=True)), self.centos_7_7_rsync_i_vvv_logfile_nochange_streaming_json)
|
||||
|
||||
def test_rsync_s_i_vvv_logfile_nochange_osx_10_14_6(self):
|
||||
"""
|
||||
Test 'rsync -ivvv --logfile=xxx' on OSX 10.14.6 with no file changes
|
||||
"""
|
||||
self.assertEqual(list(jc.parsers.rsync_s.parse(self.osx_10_14_6_rsync_i_vvv_logfile_nochange.splitlines(), quiet=True)), self.osx_10_14_6_rsync_i_vvv_logfile_nochange_streaming_json)
|
||||
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
||||
Reference in New Issue
Block a user