示例#1
0
 def test_getattr_for_resource(self):
     fs = KubeFileSystem(KubernetesClient())
     path = '/default/pod'
     attr = fs.getattr(path)
     assert_that(attr['st_mode'], is_(stat.S_IFDIR | 0555))
     assert_that(attr['st_nlink'], is_(2))
     assert_that(attr['st_size'], is_(0))
示例#2
0
 def test_read_logs(self):
     client = KubernetesClient()
     fs = KubeFileSystem(client)
     pod = client.get_pods()[0]
     path = '/default/pod/%s/logs' % pod
     data = fs.read(path, 50000, 0)
     assert_that(data, equal_to(client.logs('default', pod)))
示例#3
0
 def test_read_yaml(self):
     client = KubernetesClient()
     fs = KubeFileSystem(client)
     pod = client.get_pods()[0]
     path = '/default/pod/%s/yaml' % pod
     data = fs.read(path, 50000, 0)
     assert_that(data, equal_to(client.get_object_in_format('default', 'pod', pod, 'yaml')))
示例#4
0
 def test_getattr_for_resource(self):
     fs = KubeFileSystem(KubernetesClient())
     path = '/default/pod'
     attr = fs.getattr(path)
     assert_that(attr['st_mode'], is_(stat.S_IFDIR | 0o555))
     assert_that(attr['st_nlink'], is_(2))
     assert_that(attr['st_size'], is_(0))
示例#5
0
 def test_read_logs(self):
     client = KubernetesClient()
     fs = KubeFileSystem(client)
     pod = client.get_pods()[0]
     path = '/default/pod/%s/logs' % pod
     data = fs.read(path, 50000, 0)
     assert_that(data, equal_to(client.logs('default', pod)))
示例#6
0
 def test_list_files_for_resource(self):
     client = KubernetesClient()
     fs = KubeFileSystem(client)
     path = '/default/pod'
     files = fs.list_files(path)
     pods = client.get_pods()
     assert_that(files, contains(*pods))
示例#7
0
 def test_list_files_for_resource(self):
     client = KubernetesClient()
     fs = KubeFileSystem(client)
     path = '/default/pod'
     files = fs.list_files(path)
     pods = client.get_pods()
     assert_that(files, contains(*pods))
示例#8
0
 def test_read_length(self):
     client = KubernetesClient()
     fs = KubeFileSystem(client)
     pod = client.get_pods()[0]
     path = '/default/pod/%s/yaml' % pod
     data = fs.read(path, 10, 0)
     ref = client.get_object_in_format('default', 'pod', pod, 'yaml')
     assert_that(data, equal_to(ref[:10]))
示例#9
0
 def test_list_files_for_rc(self):
     client = KubernetesClient()
     fs = KubeFileSystem(client)
     rc = client.get_replication_controllers()[0]
     path = '/default/rc/%s' % rc
     files = fs.list_files(path)
     assert_that(files, has_items('describe', 'json', 'yaml'))
     assert_that(len(files), is_(3))
示例#10
0
 def test_list_files_for_pod(self):
     client = KubernetesClient()
     fs = KubeFileSystem(client)
     pod = client.get_pods()[0]
     path = '/default/pod/%s' % pod
     files = fs.list_files(path)
     assert_that(files, has_items('describe', 'logs', 'json', 'yaml'))
     assert_that(len(files), is_(4))
示例#11
0
 def test_list_files_for_root(self):
     client = KubernetesClient()
     fs = KubeFileSystem(client)
     path = '/'
     files = fs.list_files(path)
     namespaces = client.get_namespaces()
     assert_that(files, contains(*namespaces))
     assert_that(len(files), is_(len(namespaces)))
示例#12
0
 def test_list_files_for_root(self):
     client = KubernetesClient()
     fs = KubeFileSystem(client)
     path = '/'
     files = fs.list_files(path)
     namespaces = client.get_namespaces()
     assert_that(files, contains(*namespaces))
     assert_that(len(files), is_(len(namespaces)))
示例#13
0
 def test_list_files_for_rc(self):
     client = KubernetesClient()
     fs = KubeFileSystem(client)
     rc = client.get_replication_controllers()[0]
     path = '/default/rc/%s' % rc
     files = fs.list_files(path)
     assert_that(files, has_items('describe', 'json', 'yaml'))
     assert_that(len(files), is_(3))
示例#14
0
 def test_list_files_for_namespace(self):
     client = KubernetesClient()
     fs = KubeFileSystem(client)
     path = '/default'
     files = fs.list_files(path)
     assert_that(files, contains('pod', 'svc', 'rc', 'nodes', 'events',
         'cs', 'limits', 'pv', 'pvc', 'quota', 'endpoints', 'serviceaccounts',
         'secrets'))
示例#15
0
 def test_list_files_for_namespace(self):
     client = KubernetesClient()
     fs = KubeFileSystem(client)
     path = '/default'
     files = fs.list_files(path)
     assert_that(files, contains_inanyorder('pod', 'svc', 'rc', 'deployments', 'nodes', 'events',
         'limits', 'pv', 'pvc', 'quota', 'endpoints', 'serviceaccounts', 'jobs', 'replicasets',
         'configmaps', 'secrets', 'componentstatuses', 'daemonsets', 'horizontalpodautoscalers', 'ingress'))
示例#16
0
 def test_getattr_for_truncated_file(self):
     client = KubernetesClient()
     pod = client.get_pods()[0]
     fs = KubeFileSystem(client)
     path = '/default/pod/%s/json' % pod
     fs.truncate(path, 0)
     attr = fs.getattr(path)
     assert_that(attr['st_size'], is_(0))
示例#17
0
 def test_getattr_size_for_yaml_action(self):
     client = KubernetesClient()
     pod = client.get_pods()[0]
     fs = KubeFileSystem(client)
     path = '/default/pod/%s/yaml' % pod
     attr = fs.getattr(path)
     data = client.get_object_in_format('default', 'pod', pod, 'yaml')
     assert_that(attr['st_size'], is_(len(data)))
示例#18
0
 def test_getattr_for_truncated_file(self):
     client = KubernetesClient()
     pod = client.get_pods()[0]
     fs = KubeFileSystem(client)
     path = '/default/pod/%s/json' % pod
     fs.truncate(path, 0)
     attr = fs.getattr(path)
     assert_that(attr['st_size'], is_(0))
示例#19
0
 def test_getattr_size_for_describe_action(self):
     client = KubernetesClient()
     pod = client.get_pods()[0]
     fs = KubeFileSystem(client)
     path = '/default/pod/%s/logs' % pod
     attr = fs.getattr(path)
     data = client.logs('default', pod)
     assert_that(attr['st_size'], is_(len(data)))
示例#20
0
 def test_getattr_size_for_yaml_action(self):
     client = KubernetesClient()
     pod = client.get_pods()[0]
     fs = KubeFileSystem(client)
     path = '/default/pod/%s/yaml' % pod
     attr = fs.getattr(path)
     data = client.get_object_in_format('default', 'pod', pod, 'yaml')
     assert_that(attr['st_size'], is_(len(data)))
示例#21
0
 def test_list_files_for_pod(self):
     client = KubernetesClient()
     fs = KubeFileSystem(client)
     pod = client.get_pods()[0]
     path = '/default/pod/%s' % pod
     files = fs.list_files(path)
     assert_that(files, has_items('describe', 'logs', 'json', 'yaml'))
     assert_that(len(files), is_(4))
示例#22
0
 def test_getattr_size_for_describe_action(self):
     client = KubernetesClient()
     pod = client.get_pods()[0]
     fs = KubeFileSystem(client)
     path = '/default/pod/%s/logs' % pod
     attr = fs.getattr(path)
     data = client.logs('default', pod)
     assert_that(attr['st_size'], is_(len(data)))
示例#23
0
 def test_getattr_for_object(self):
     client = KubernetesClient()
     pod = client.get_pods()[0]
     fs = KubeFileSystem(client)
     path = '/default/pod/%s' % pod
     attr = fs.getattr(path)
     assert_that(attr['st_mode'], is_(stat.S_IFDIR | 0o555))
     assert_that(attr['st_nlink'], is_(2))
     assert_that(attr['st_size'], is_(0))
示例#24
0
 def test_getattr_for_object(self):
     client = KubernetesClient()
     pod = client.get_pods()[0]
     fs = KubeFileSystem(client)
     path = '/default/pod/%s' % pod
     attr = fs.getattr(path)
     assert_that(attr['st_mode'], is_(stat.S_IFDIR | 0555))
     assert_that(attr['st_nlink'], is_(2))
     assert_that(attr['st_size'], is_(0))
示例#25
0
 def test_read_offset(self):
     client = KubernetesClient()
     fs = KubeFileSystem(client)
     pod = client.get_pods()[0]
     path = '/default/pod/%s/yaml' % pod
     data = fs.read(path, 10, 5)
     ref = client.get_object_in_format('default', 'pod', pod, 'yaml')
     assert_that(data, equal_to(ref[5:15]))
     assert_that(len(data), is_(10))
示例#26
0
 def test_read_offset(self):
     client = KubernetesClient()
     fs = KubeFileSystem(client)
     pod = client.get_pods()[0]
     path = '/default/pod/%s/yaml' % pod
     data = fs.read(path, 10, 5)
     ref = client.get_object_in_format('default', 'pod', pod, 'yaml')
     assert_that(data, equal_to(ref[5:15]))
     assert_that(len(data), is_(10))
示例#27
0
 def test_list_files_for_namespace(self):
     client = KubernetesClient()
     fs = KubeFileSystem(client)
     path = '/default'
     files = fs.list_files(path)
     assert_that(
         files,
         contains('pod', 'svc', 'rc', 'nodes', 'events', 'cs', 'limits',
                  'pv', 'pvc', 'quota', 'endpoints', 'serviceaccounts',
                  'secrets'))
示例#28
0
 def test_read_json(self):
     client = KubernetesClient()
     fs = KubeFileSystem(client)
     pod = client.get_pods()[0]
     path = '/default/pod/%s/json' % pod
     data = fs.read(path, 50000, 0)
     assert_that(
         data,
         equal_to(client.get_object_in_format('default', 'pod', pod,
                                              'json')))
示例#29
0
 def test_getattr_for_action(self):
     client = KubernetesClient()
     pod = client.get_pods()[0]
     fs = KubeFileSystem(client)
     path = '/default/pod/%s/describe' % pod
     attr = fs.getattr(path)
     data = client.describe('default', 'pod', pod)
     assert_that(attr['st_mode'], is_(stat.S_IFREG | 0444))
     assert_that(attr['st_nlink'], is_(1))
     assert_that(attr['st_size'], is_(len(data)))
示例#30
0
 def test_getattr_for_action(self):
     client = KubernetesClient()
     pod = client.get_pods()[0]
     fs = KubeFileSystem(client)
     path = '/default/pod/%s/describe' % pod
     attr = fs.getattr(path)
     data = client.describe('default', 'pod', pod)
     assert_that(attr['st_mode'], is_(stat.S_IFREG | 0o444))
     assert_that(attr['st_nlink'], is_(1))
     assert_that(attr['st_size'], is_(len(data)))
示例#31
0
 def test_truncate_and_write(self):
     client = KubernetesClient()
     fs = KubeFileSystem(client)
     pod = client.get_pods()[0]
     path = '/default/pod/%s/yaml' % pod
     fs.truncate(path, 0)
     fs.write(path, 'test', 0)
     fs.write(path, 'write', 4)
     fs.sync(path, dry_run=True)
     data = fs.read(path, 1000, 0)
     assert_that(data, is_(b'testwrite'))
示例#32
0
 def test_list_files_for_namespace(self):
     client = KubernetesClient()
     fs = KubeFileSystem(client)
     path = '/default'
     files = fs.list_files(path)
     assert_that(
         files,
         contains_inanyorder('pod', 'svc', 'rc', 'deployments', 'nodes',
                             'events', 'limits', 'pv', 'pvc', 'quota',
                             'endpoints', 'serviceaccounts', 'jobs',
                             'replicasets', 'configmaps', 'secrets',
                             'componentstatuses', 'daemonsets',
                             'horizontalpodautoscalers', 'ingress'))
示例#33
0
 def test_list_files_for_file_throws_exception(self):
     client = KubernetesClient()
     fs = KubeFileSystem(client)
     pod = client.get_pods()[0]
     path = '/default/pod/%s/describe' % pod
     assert_that(calling(lambda: fs.list_files(path)), raises(FuseOSError))
示例#34
0
 def test_getattr_for_nonexistent_path(self):
     client = KubernetesClient()
     fs = KubeFileSystem(client)
     path = '/doesnt-exist'
     assert_that(calling(lambda: fs.getattr(path)), raises(FuseOSError))
示例#35
0
 def test_truncate_and_write(self):
     client = KubernetesClient()
     fs = KubeFileSystem(client)
     pod = client.get_pods()[0]
     path = '/default/pod/%s/yaml' % pod
     fs.truncate(path, 0)
     fs.write(path, 'test', 0)
     fs.write(path, 'write', 4)
     fs.sync(path, dry_run=True)
     data = fs.read(path, 1000, 0)
     assert_that(data, is_('testwrite'))
示例#36
0
 def test_getattr_for_nonexistent_path(self):
     client = KubernetesClient()
     fs = KubeFileSystem(client)
     path = '/doesnt-exist'
     assert_that(calling(lambda: fs.getattr(path)), raises(FuseOSError))
示例#37
0
 def test_list_files_for_file_throws_exception(self):
     client = KubernetesClient()
     fs = KubeFileSystem(client)
     pod = client.get_pods()[0]
     path = '/default/pod/%s/describe' % pod
     assert_that(calling(lambda: fs.list_files(path)), raises(FuseOSError))