Feat: conditional permissions behavior (#28)
* Fix: don't need sudo if we're root + other aesthetics
* Heavy refactoring, see PR #28
* Fix: avoid silent fatalities
demo: https://tcp.ac/i/JMSUc.gif
* Fix: Inverse check on `IsRoot`
* D.R.Y: check for permissions error in `common.ErrorCheck`
Reduce cognitive complexity.
* Fix: Issue with copying
* Resolve https://github.com/HikariKnight/quickpassthrough/pull/28#discussion_r1646535918
* Resolve https://github.com/HikariKnight/quickpassthrough/pull/28#discussion_r1646606680 and https://github.com/HikariKnight/quickpassthrough/pull/28#discussion_r1646594105
* Revert "Resolve https://github.com/HikariKnight/quickpassthrough/pull/28#discussion_r1646606680 and https://github.com/HikariKnight/quickpassthrough/pull/28#discussion_r1646594105"
This reverts commit ce15213009
.
* Resolve https://github.com/HikariKnight/quickpassthrough/pull/28#discussion_r1646730751
This commit is contained in:
parent
4d0086df41
commit
6c48a35180
21 changed files with 604 additions and 255 deletions
33
internal/configs/configs_test.go
Normal file
33
internal/configs/configs_test.go
Normal file
|
@ -0,0 +1,33 @@
|
|||
package configs
|
||||
|
||||
import (
|
||||
"os"
|
||||
"path/filepath"
|
||||
"testing"
|
||||
)
|
||||
|
||||
func TestCopyToSystem(t *testing.T) {
|
||||
if err := os.Mkdir("testdir", 0755); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
tFilePath := filepath.Join("testdir", "testfile")
|
||||
if err := os.WriteFile(tFilePath, []byte("test"), 0644); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
t.Cleanup(func() {
|
||||
if err := os.RemoveAll("testdir"); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
})
|
||||
isRoot := os.Getuid() == 0
|
||||
switch isRoot {
|
||||
case true:
|
||||
t.Run("TestCopyToSystem_AsRoot", func(t *testing.T) {
|
||||
CopyToSystem(true, tFilePath, "/etc/testfile")
|
||||
})
|
||||
default:
|
||||
t.Run("TestCopyToSystem_AsUser", func(t *testing.T) {
|
||||
CopyToSystem(false, tFilePath, "/etc/testfile")
|
||||
})
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue