Home | Trees | Indices | Help |
---|
|
1 # 2 # Copyright (c) 2013, EMC Corporation 3 # All rights reserved. 4 # 5 # Redistribution and use in source and binary forms, with or without 6 # modification, are permitted provided that the following conditions are met: 7 # 8 # 1. Redistributions of source code must retain the above copyright notice, 9 # this list of conditions and the following disclaimer. 10 # 2. Redistributions in binary form must reproduce the above copyright notice, 11 # this list of conditions and the following disclaimer in the documentation 12 # and/or other materials provided with the distribution. 13 # 14 # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 15 # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 16 # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 17 # ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE 18 # LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 19 # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 20 # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 21 # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 22 # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 23 # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 24 # POSSIBILITY OF SUCH DAMAGE. 25 # 26 # Module Name: 27 # 28 # reparse.py 29 # 30 # Abstract: 31 # 32 # Set/Get reparse point tests 33 # 34 # Authors: Masen Furer (masen.furer@emc.com) 35 # 36 37 import pike.model 38 import pike.test 39 40 share_all = pike.smb2.FILE_SHARE_READ | pike.smb2.FILE_SHARE_WRITE | pike.smb2.FILE_SHARE_DELETE 417744 chan, tree = self.tree_connect() 45 46 target = "target" 47 48 link = chan.create(tree, 49 "symlink", 50 pike.smb2.FILE_READ_DATA | pike.smb2.FILE_WRITE_DATA | pike.smb2.DELETE, 51 options=pike.smb2.FILE_OPEN_REPARSE_POINT | \ 52 pike.smb2.FILE_DELETE_ON_CLOSE).result() 53 chan.set_symlink(link, target, pike.smb2.SYMLINK_FLAG_RELATIVE) 54 result = chan.get_symlink(link) 55 self.assertEqual(result[0][0].reparse_data.substitute_name, target) 56 chan.close(link)5759 chan, tree = self.tree_connect() 60 61 target = "target" 62 63 link = chan.create(tree, 64 "symlink", 65 pike.smb2.FILE_READ_DATA | pike.smb2.FILE_WRITE_DATA | pike.smb2.DELETE, 66 share=share_all, 67 options=pike.smb2.FILE_OPEN_REPARSE_POINT | \ 68 pike.smb2.FILE_DELETE_ON_CLOSE).result() 69 chan.set_symlink(link, target, pike.smb2.SYMLINK_FLAG_RELATIVE) 70 try: 71 chan.create(tree, "symlink", share=share_all).result() 72 except pike.model.ResponseError as err: 73 self.assertEqual(err.response.status, pike.ntstatus.STATUS_STOPPED_ON_SYMLINK) 74 self.assertEqual(err.response[0][0].error_data.substitute_name, target) 75 self.assertEqual(err.response[0][0].error_data.print_name, target) 76 chan.close(link)
Home | Trees | Indices | Help |
---|
Generated by Epydoc 3.0.1 on Thu Jun 29 08:51:27 2017 | http://epydoc.sourceforge.net |