dav_test.go 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129
  1. package dav
  2. import (
  3. "testing"
  4. "log"
  5. "strings"
  6. )
  7. func TestGetRepoName(t *testing.T){
  8. name, err := getRName("https://gin.g-node.org/cgars/test/_dav/adasdasd/daasdas/asdasdsa")
  9. if err != nil{
  10. t.Logf("Repo Name not dtermined from path")
  11. t.Fail()
  12. return
  13. }
  14. if name != "test"{
  15. t.Logf("Repo Name not dtermined from path")
  16. t.Fail()
  17. return
  18. }
  19. return
  20. }
  21. func TestOwnerName(t *testing.T) {
  22. name, err := getOName("https://gin.g-node.org/cgars/test/_dav/adasdasd/daasdas/asdasdsa")
  23. if err != nil {
  24. t.Logf("Repo Name not dtermined from path")
  25. t.Fail()
  26. return
  27. }
  28. if name != "cgars" {
  29. t.Logf("Owner Name not dtermined from path: name was %s", name)
  30. t.Fail()
  31. return
  32. }
  33. return
  34. }
  35. func TestOpenfile(t *testing.T) {
  36. fs := GinFS{"../../trepos"}
  37. f, err := fs.OpenFile("https://gin.g-node.org/user1/repo1/_dav/testfile1.txt", 0, 0)
  38. if err != nil {
  39. log.Fatal(err)
  40. }
  41. st, err := f.Stat()
  42. if st.Name() != "testfile1.txt" {
  43. t.Fail()
  44. return
  45. }
  46. // lets try a directoty
  47. f, err = fs.OpenFile("https://gin.g-node.org/user1/repo1/_dav/", 0, 0)
  48. st, err = f.Stat()
  49. if err != nil {
  50. log.Fatal(err)
  51. }
  52. if !st.IsDir() {
  53. t.Fail()
  54. return
  55. }
  56. }
  57. func TestReadDir(t *testing.T) {
  58. fs := GinFS{"../../trepos"}
  59. f, err := fs.OpenFile("https://gin.g-node.org/user1/repo1/_dav/", 0, 0)
  60. if err != nil {
  61. log.Fatal(err)
  62. }
  63. ents, err := f.Readdir(0)
  64. if err != nil {
  65. log.Fatal(err)
  66. }
  67. if len(ents) < 1 {
  68. t.Log("Can not read directory")
  69. t.Fail()
  70. return
  71. }
  72. f, err = fs.OpenFile("https://gin.g-node.org/user1/repo1/_dav/fold1", 0, 0)
  73. if err != nil {
  74. log.Fatal(err)
  75. }
  76. ents, err = f.Readdir(0)
  77. if err != nil {
  78. log.Fatal(err)
  79. }
  80. if len(ents) != 2 {
  81. t.Log("Can not read sub directory")
  82. t.Fail()
  83. return
  84. }
  85. }
  86. func TestReadFile(t *testing.T) {
  87. fs := GinFS{"../../trepos"}
  88. f, err := fs.OpenFile("https://gin.g-node.org/user1/repo1/_dav/testfile1.txt", 0, 0)
  89. if err != nil {
  90. log.Fatal(err)
  91. }
  92. bf := make([]byte, 50)
  93. _, err = f.Read(bf)
  94. if err != nil {
  95. log.Fatalf("%+v", err)
  96. }
  97. txt := string(bf)
  98. if !strings.Contains(txt, "test") {
  99. t.Log("could not read normal git file")
  100. t.Fail()
  101. }
  102. // Open a file in a subfolder
  103. f, err = fs.OpenFile("https://gin.g-node.org/user1/repo1/_dav/fold1/file1.txt", 0, 0)
  104. if err != nil {
  105. log.Fatal(err)
  106. }
  107. bf = make([]byte, 50)
  108. _, err = f.Read(bf)
  109. if err != nil {
  110. log.Fatalf("%+v", err)
  111. }
  112. txt = string(bf)
  113. if !strings.Contains(txt, "bla") {
  114. t.Log("could not read git file in sobfolder")
  115. t.Fail()
  116. }
  117. }