- commit
- 9bd9552
- parent
- 2d86e16
- author
- Antonio Mika
- date
- 2025-02-24 22:58:05 -0500 EST
Fix rsync deletes
2 files changed,
+31,
-12
+22,
-11
1@@ -46,11 +46,11 @@ func (me *MemoryDB) SetupTestData() {
2 me.Feature = feature
3 }
4
5-var notImpl = fmt.Errorf("not implemented")
6+var errNotImpl = fmt.Errorf("not implemented")
7
8 func (me *MemoryDB) FindUsers() ([]*db.User, error) {
9 users := []*db.User{}
10- return users, notImpl
11+ return users, errNotImpl
12 }
13
14 func (me *MemoryDB) FindUserByPubkey(key string) (*db.User, error) {
15@@ -89,22 +89,33 @@ func (me *MemoryDB) Close() error {
16 }
17
18 func (me *MemoryDB) FindTotalSizeForUser(userID string) (int, error) {
19- return 0, notImpl
20+ return 0, errNotImpl
21 }
22
23 func (me *MemoryDB) InsertProject(userID, name, projectDir string) (string, error) {
24 id := uuid.NewString()
25+ now := time.Now()
26 me.Projects = append(me.Projects, &db.Project{
27 ID: id,
28 UserID: userID,
29 Name: name,
30 ProjectDir: projectDir,
31+ CreatedAt: &now,
32+ UpdatedAt: &now,
33 })
34 return id, nil
35 }
36
37 func (me *MemoryDB) UpdateProject(userID, name string) error {
38- return notImpl
39+ project, err := me.FindProjectByName(userID, name)
40+ if err != nil {
41+ return err
42+ }
43+
44+ now := time.Now()
45+ project.UpdatedAt = &now
46+
47+ return nil
48 }
49
50 func (me *MemoryDB) UpsertProject(userID, projectName, projectDir string) (*db.Project, error) {
51@@ -128,11 +139,11 @@ func (me *MemoryDB) UpsertProject(userID, projectName, projectDir string) (*db.P
52 }
53
54 func (me *MemoryDB) LinkToProject(userID, projectID, projectDir string, commit bool) error {
55- return notImpl
56+ return errNotImpl
57 }
58
59 func (me *MemoryDB) RemoveProject(projectID string) error {
60- return notImpl
61+ return errNotImpl
62 }
63
64 func (me *MemoryDB) FindProjectByName(userID, name string) (*db.Project, error) {
65@@ -151,21 +162,21 @@ func (me *MemoryDB) FindProjectByName(userID, name string) (*db.Project, error)
66 }
67
68 func (me *MemoryDB) FindProjectLinks(userID, name string) ([]*db.Project, error) {
69- return []*db.Project{}, notImpl
70+ return []*db.Project{}, errNotImpl
71 }
72
73 func (me *MemoryDB) FindProjectsByPrefix(userID, prefix string) ([]*db.Project, error) {
74- return []*db.Project{}, notImpl
75+ return []*db.Project{}, errNotImpl
76 }
77
78 func (me *MemoryDB) FindProjectsByUser(userID string) ([]*db.Project, error) {
79- return []*db.Project{}, notImpl
80+ return []*db.Project{}, errNotImpl
81 }
82
83 func (me *MemoryDB) FindProjects(userID string) ([]*db.Project, error) {
84- return []*db.Project{}, notImpl
85+ return []*db.Project{}, errNotImpl
86 }
87
88 func (me *MemoryDB) UpdateProjectAcl(userID, name string, acl db.ProjectAcl) error {
89- return notImpl
90+ return errNotImpl
91 }
+9,
-1
1@@ -209,7 +209,7 @@ func TestSshServerRsync(t *testing.T) {
2 os.Remove(aboutFile)
3
4 // copy files with delete
5- delCmd := exec.Command("rsync", "-rv", "-e", eCmd, name+"/", "localhost:/test")
6+ delCmd := exec.Command("rsync", "-rv", "--delete", "-e", eCmd, name+"/", "localhost:/test")
7 result, err = delCmd.CombinedOutput()
8 if err != nil {
9 fmt.Println(string(result), err)
10@@ -217,6 +217,14 @@ func TestSshServerRsync(t *testing.T) {
11 return
12 }
13
14+ // check it's not there
15+ _, err = client.Lstat("/test/about.html")
16+ if err == nil {
17+ cfg.Logger.Error("file still exists")
18+ t.Error("about.html found")
19+ return
20+ }
21+
22 close(done)
23
24 p, err := os.FindProcess(os.Getpid())