about summary refs log tree commit diff stats
path: root/html/archive/2.vm/chessboard-test.png
Commit message (Expand)AuthorAgeFilesLines
* 5485 - promote SubX to top-levelKartik Agaram2019-07-271-0/+0
e10fc64 ^
41398b1 ^
35e31f0 ^


e10fc64 ^
35e31f0 ^



e10fc64 ^
35e31f0 ^
e10fc64 ^
35e31f0 ^
35e31f0 ^

e280417 ^
35e31f0 ^












e280417 ^
e10fc64 ^
35e31f0 ^







35e31f0 ^

e10fc64 ^
35e31f0 ^

41398b1 ^
35e31f0 ^














1a15258 ^
35e31f0 ^






e10fc64 ^

35e31f0 ^

1a15258 ^
35e31f0 ^

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
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
                                                      









                                          

                    
                                                                            


                                                           
 



                                                                                              
 
                                                                                                           
 
                                                                                                              

                                                      
                               












                                                                        
                        
 







                                                                                  

                                           
                    

                                                                          
                                                                                    














                                                                                                                   
                               






                                             

                      

                                  
                        

         
package svc // import "github.com/getwtxt/getwtxt/svc"

import (
	"net"
	"testing"

	"github.com/getwtxt/registry"
)

func Test_pushpullDatabase(t *testing.T) {
	initTestConf()
	initTestDB()

	out, _, err := registry.GetTwtxt("https://gbmor.dev/twtxt.txt", nil)
	if err != nil {
		t.Errorf("Couldn't set up test: %v\n", err)
	}

	statusmap, err := registry.ParseUserTwtxt(out, "gbmor", "https://gbmor.dev/twtxt.txt")
	if err != nil {
		t.Errorf("Couldn't set up test: %v\n", err)
	}

	twtxtCache.AddUser("gbmor", "https://gbmor.dev/twtxt.txt", "", net.ParseIP("127.0.0.1"), statusmap)

	remoteRegistries.List = append(remoteRegistries.List, "https://twtxt.tilde.institute/api/plain/users")

	t.Run("Push to Database", func(t *testing.T) {
		err := pushDB()
		if err != nil {
			t.Errorf("%v\n", err)
		}
	})

	t.Run("Clearing Registry", func(t *testing.T) {
		err := twtxtCache.DelUser("https://gbmor.dev/twtxt.txt")
		if err != nil {
			t.Errorf("%v", err)
		}
	})

	t.Run("Pulling from Database", func(t *testing.T) {
		pullDB()

		twtxtCache.Mu.RLock()
		if _, ok := twtxtCache.Users["https://gbmor.dev/twtxt.txt"]; !ok {
			t.Errorf("Missing user previously pushed to database\n")
		}
		twtxtCache.Mu.RUnlock()

	})
}
func Benchmark_pushDatabase(b *testing.B) {
	initTestConf()
	initTestDB()

	if _, ok := twtxtCache.Users["https://gbmor.dev/twtxt.txt"]; !ok {
		out, _, err := registry.GetTwtxt("https://gbmor.dev/twtxt.txt", nil)
		if err != nil {
			b.Errorf("Couldn't set up benchmark: %v\n", err)
		}

		statusmap, err := registry.ParseUserTwtxt(out, "gbmor", "https://gbmor.dev/twtxt.txt")
		if err != nil {
			b.Errorf("Couldn't set up benchmark: %v\n", err)
		}

		twtxtCache.AddUser("gbmor", "https://gbmor.dev/twtxt.txt", "", net.ParseIP("127.0.0.1"), statusmap)
	}

	b.ResetTimer()

	for i := 0; i < b.N; i++ {
		err := pushDB()
		if err != nil {
			b.Errorf("%v\n", err)
		}
	}
}
func Benchmark_pullDatabase(b *testing.B) {
	initTestConf()
	initTestDB()
	b.ResetTimer()

	for i := 0; i < b.N; i++ {
		pullDB()
	}
}