github.com/viant/toolbox@v0.34.5/storage/scp/fileinfo_parser_test.go (about) 1 package scp_test 2 3 import ( 4 "github.com/stretchr/testify/assert" 5 "github.com/viant/toolbox/storage/scp" 6 "net/url" 7 "testing" 8 ) 9 10 // -rw-r--r-- 1 awitas wheel 6668 Oct 25 11:41:44 2017 /build/dcm/dcm-server/target/classes/dcm.properties 11 12 func Test_ExtractFileInfo(t *testing.T) { 13 14 var parserURL, _ = url.Parse("scp://127.0.0.1/") 15 16 { 17 var parser = scp.Parser{IsoTimeStyle: false} 18 objects, err := parser.Parse(parserURL, "-rw-r--r-- 1 awitas 1742120565 414 Jun 8 14:14:08 2017 f.pub", true) 19 if assert.Nil(t, err) { 20 var object = objects[0] 21 assert.Equal(t, "scp://127.0.0.1/f.pub", object.URL()) 22 assert.Equal(t, int64(1496931248), object.FileInfo().ModTime().Unix()) 23 assert.Equal(t, int64(414), object.FileInfo().Size()) 24 assert.Equal(t, true, object.IsContent()) 25 } 26 } 27 { 28 parserURL, _ = url.Parse("scp://127.0.0.1:22/") 29 var parser = scp.Parser{IsoTimeStyle: true} 30 var objects, err = parser.Parse(parserURL, "-rw-r--r-- 1 awitas awitas 2002 2017-11-04 22:29:33.363458941 +0000 aerospikeciads_aerospike.conf", true) 31 if assert.Nil(t, err) { 32 var object = objects[0] 33 assert.Equal(t, "scp://127.0.0.1:22/aerospikeciads_aerospike.conf", object.URL()) 34 assert.Equal(t, int64(1509834573), object.FileInfo().ModTime().Unix()) 35 assert.Equal(t, int64(2002), object.FileInfo().Size()) 36 assert.Equal(t, true, object.IsContent()) 37 } 38 } 39 40 { 41 parserURL, _ = url.Parse("scp://127.0.0.1:22/") 42 var parser = scp.Parser{IsoTimeStyle: true} 43 var objects, err = parser.Parse(parserURL, `-rw------- 1 myusername MYGROUP\\Domain Users 1679 Mar 8 15:27:22 2019 /Users/myusername/.ssh/git_id_rsa`, true) 44 if assert.Nil(t, err) { 45 var object = objects[0] 46 assert.Equal(t, "scp://127.0.0.1:22/Users/myusername/.ssh/git_id_rsa", object.URL()) 47 assert.Equal(t, int64(1552058842), object.FileInfo().ModTime().Unix()) 48 assert.Equal(t, int64(1679), object.FileInfo().Size()) 49 assert.Equal(t, true, object.IsContent()) 50 } 51 52 } 53 { 54 parserURL, _ = url.Parse("scp://127.0.0.1:22/") 55 var parser = scp.Parser{IsoTimeStyle: true} 56 var objects, err = parser.Parse(parserURL, `rwxr-xr-x@ 1 "github.com/viant/toolbox/storage/scp" WORKGROUP\\Domain Users 108143621 Apr 19 15:55:57 2019 /Users/ojoseph/git/test-app/../go-cm/dist/linux/go-cm`, true) 57 if assert.Nil(t, err) { 58 var object = objects[0] 59 assert.Equal(t, "scp://127.0.0.1:22/Users/ojoseph/git/test-app/../go-cm/dist/linux/go-cm", object.URL()) 60 assert.Equal(t, int64(1555689357), object.FileInfo().ModTime().Unix()) 61 assert.Equal(t, int64(108143621), object.FileInfo().Size()) 62 assert.Equal(t, true, object.IsContent()) 63 } 64 65 } 66 67 }