File: fileinfo_parser_test.go

package info (click to toggle)
golang-github-viant-toolbox 0.33.2-4
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, forky, sid, trixie
  • size: 1,280 kB
  • sloc: makefile: 16
file content (67 lines) | stat: -rw-r--r-- 2,628 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
package scp_test

import (
	"github.com/stretchr/testify/assert"
	"github.com/viant/toolbox/storage/scp"
	"net/url"
	"testing"
)

// -rw-r--r--  1 awitas  wheel  6668 Oct 25 11:41:44 2017 /build/dcm/dcm-server/target/classes/dcm.properties

func Test_ExtractFileInfo(t *testing.T) {

	var parserURL, _ = url.Parse("scp://127.0.0.1/")

	{
		var parser = scp.Parser{IsoTimeStyle: false}
		objects, err := parser.Parse(parserURL, "-rw-r--r--  1 awitas  1742120565   414 Jun  8 14:14:08 2017 f.pub", true)
		if assert.Nil(t, err) {
			var object = objects[0]
			assert.Equal(t, "scp://127.0.0.1/f.pub", object.URL())
			assert.Equal(t, int64(1496931248), object.FileInfo().ModTime().Unix())
			assert.Equal(t, int64(414), object.FileInfo().Size())
			assert.Equal(t, true, object.IsContent())
		}
	}
	{
		parserURL, _ = url.Parse("scp://127.0.0.1:22/")
		var parser = scp.Parser{IsoTimeStyle: true}
		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)
		if assert.Nil(t, err) {
			var object = objects[0]
			assert.Equal(t, "scp://127.0.0.1:22/aerospikeciads_aerospike.conf", object.URL())
			assert.Equal(t, int64(1509834573), object.FileInfo().ModTime().Unix())
			assert.Equal(t, int64(2002), object.FileInfo().Size())
			assert.Equal(t, true, object.IsContent())
		}
	}

	{
		parserURL, _ = url.Parse("scp://127.0.0.1:22/")
		var parser = scp.Parser{IsoTimeStyle: true}
		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)
		if assert.Nil(t, err) {
			var object = objects[0]
			assert.Equal(t, "scp://127.0.0.1:22/Users/myusername/.ssh/git_id_rsa", object.URL())
			assert.Equal(t, int64(1552058842), object.FileInfo().ModTime().Unix())
			assert.Equal(t, int64(1679), object.FileInfo().Size())
			assert.Equal(t, true, object.IsContent())
		}

	}
	{
		parserURL, _ = url.Parse("scp://127.0.0.1:22/")
		var parser = scp.Parser{IsoTimeStyle: true}
		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)
		if assert.Nil(t, err) {
			var object = objects[0]
			assert.Equal(t, "scp://127.0.0.1:22/Users/ojoseph/git/test-app/../go-cm/dist/linux/go-cm", object.URL())
			assert.Equal(t, int64(1555689357), object.FileInfo().ModTime().Unix())
			assert.Equal(t, int64(108143621), object.FileInfo().Size())
			assert.Equal(t, true, object.IsContent())
		}

	}

}