def test_init(self): """Try init BindMounts with minimal informations """ args = [ '-/.*', '+/foo', '-/foo/.*', '+/foo/bar', ] with self.assertRaises(InvalidRequestException): BindMounts().run(None, Payload({})) with self.assertRaises(InvalidRequestException): BindMounts().run(args, Payload({})) BindMounts().run(args, Payload(PAYLOAD_MINIMAL)) BindMounts().run(None, Payload(PAYLOAD_MINIMAL))
def test_directoy_names_containing_user(cls): """Check directory containing user """ args = [ '-/.*', '+/home/$USER', ] BindMounts().run(args, Payload(PAYLOAD_USER))
def test_directoy_names_not_explicitly_listed(self): """Check directory exact match """ args = [ '+/something-else/', ] with self.assertRaises(UnauthorizedException): BindMounts().run(args, Payload(PAYLOAD_FOOBAR))
def test_directoy_names_starting_with(cls): """Check directory starting with """ args = [ '-/.*', '+/foo', ] BindMounts().run(args, Payload(PAYLOAD_FOO))
def test_directoy_names_exact_match(self): """Check directory exact match """ args = [ '-/.*', '+/foo/', ] with self.assertRaises(UnauthorizedException): BindMounts().run(args, Payload(PAYLOAD_FOOBAR))
def test_invalid_rules_should_be_ignored(cls): """Unparsable rules are ignored """ args = [ '.*/.*', '%-/foo', '/foo/.*', '+/foo', ] BindMounts().run(args, Payload(PAYLOAD_FOO))
def test_valid_paths(cls): """Check valid paths """ args = [ '-/.*', '+/foo', '-/foo/.*', '+/foo/bar', ] BindMounts().run(args, Payload(PAYLOAD_FOO))
def test_invalid_paths(self): """Check invalid paths """ args = [ '-/.*', '+/foo', '-/foo/.*', '+/foo/bar', ] with self.assertRaises(UnauthorizedException): BindMounts().run(args, Payload(PAYLOAD_MANY))