gitlab.com/SiaPrime/SiaPrime@v1.4.1/modules/stratumminer/stratumminer_test.go (about) 1 package stratumminer 2 3 import ( 4 "testing" 5 "time" 6 7 "gitlab.com/SiaPrime/SiaPrime/build" 8 "gitlab.com/SiaPrime/SiaPrime/modules" 9 ) 10 11 type stratumminerTester struct { 12 //mpool modules.Pool 13 stratumminer *StratumMiner 14 15 persistDir string 16 } 17 18 func newStratumMinerTester(name string) (*stratumminerTester, error) { 19 testdir := build.TempDir(modules.StratumMinerDir, name) 20 sm, err := New(testdir) 21 if err != nil { 22 return nil, err 23 } 24 smTester := &stratumminerTester{ 25 stratumminer: sm, 26 27 persistDir: testdir, 28 } 29 return smTester, nil 30 } 31 32 func TestIntegrationStratumMiner(t *testing.T) { 33 _, err := newStratumMinerTester(t.Name()) 34 if err != nil { 35 t.Fatal(err) 36 } 37 } 38 39 func TestBadServerStratumMinerStart(t *testing.T) { 40 st, err := newStratumMinerTester(t.Name()) 41 if err != nil { 42 t.Fatal(err) 43 } 44 poolAddress := "stratum+tcp://localhost:53333" 45 walletAddress := "1234" 46 st.stratumminer.StartStratumMining(poolAddress, walletAddress) 47 // give the miner a bit to start running 48 time.Sleep(10 * time.Millisecond) 49 if st.stratumminer.Connected() { 50 t.Fatal("stratum miner was started with a bad address but is reporting its status as connected") 51 } 52 } 53 54 func TestStratumMinerStartAndStop(t *testing.T) { 55 st, err := newStratumMinerTester(t.Name()) 56 if err != nil { 57 t.Fatal(err) 58 } 59 poolAddress := "stratum+tcp://localhost:53333" 60 walletAddress := "1234" 61 st.stratumminer.StartStratumMining(poolAddress, walletAddress) 62 // give the miner a bit to start running 63 time.Sleep(10 * time.Millisecond) 64 if !st.stratumminer.Mining() { 65 t.Fatal("stratum miner was started but is not reporting its status as mining") 66 } 67 st.stratumminer.StopStratumMining() 68 // give the miner a bit to stop running 69 time.Sleep(1000 * time.Millisecond) 70 if st.stratumminer.Mining() { 71 t.Fatal("stratum miner was stopped but is reporting its status as mining") 72 } 73 }