-
Notifications
You must be signed in to change notification settings - Fork 0
/
executor_test.go
104 lines (74 loc) · 2.46 KB
/
executor_test.go
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
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
package executor_test
import (
"bitbucket.org/rcmonitor/proxy-parse/parser"
"bitbucket.org/rcmonitor/proxy-provider/provider"
"github.com/rcmonitor/executor"
"github.com/rcmonitor/executor/testdata"
"github.com/romana/rlog"
"github.com/stretchr/testify/suite"
"testing"
)
func init() {
rlog.SetConfFile("conf/log.conf")
}
type TTestSuiteExecute struct {
suite.Suite
Executor *executor.TFramedExecutor
}
func (suite *TTestSuiteExecute) SetupTest() {
suite.Executor = &executor.TFramedExecutor{}
}
func (suite *TTestSuiteExecute) ExcludedTestFramedExecutorTestdata() {
suite.mSetTestWorkers()
err := suite.Executor.MRun()
suite.Require().Nil(err)
}
func (suite *TTestSuiteExecute) mSetTestWorkers() {
pswPrime := &testdata.TPrimalWorker{
Passes: 10,
ExecutesInFrame: 1,
}
psdbmsPrime, err := provider.FGetServiceByTitleCached("test_prime_service")
suite.Require().Nil(err)
suite.Require().NotNil(psdbmsPrime)
suite.Executor.SW = append(suite.Executor.SW, &executor.TServiceWorker{
Service: psdbmsPrime,
Worker: pswPrime,
})
pswEncrypt := &testdata.TEncryptWorker{1000}
psdbmsEncrypt, err := provider.FGetServiceByTitleCached("test_encrypt_service")
suite.Require().Nil(err)
suite.Require().NotNil(psdbmsEncrypt)
suite.Executor.SW = append(suite.Executor.SW, &executor.TServiceWorker{
Service: psdbmsEncrypt,
Worker: pswEncrypt,
})
}
func (suite *TTestSuiteExecute) TestTFramedExecutorProduction() {
suite.mSetProductionWorkers()
intWorkersExpected := 2
suite.Require().Equal(intWorkersExpected, len(suite.Executor.SW))
err := suite.Executor.MRun()
suite.Require().Nil(err)
}
func (suite *TTestSuiteExecute) mSetProductionWorkers() {
pswParseProxy := &parser.TWorkerParse{&parser.TProxy{}, parser.TParser{}}
psdbmsParserProxy, err := provider.FGetServiceByTitleCached("parser_proxy")
suite.Require().Nil(err)
suite.Require().NotNil(psdbmsParserProxy)
suite.Executor.SW = append(suite.Executor.SW, &executor.TServiceWorker{
Service: psdbmsParserProxy,
Worker: pswParseProxy,
})
pswParseDownload := &parser.TWorkerParse{&parser.TDownload{}, parser.TParser{}}
psdbmsParserDownload, err := provider.FGetServiceByTitleCached("parser_download")
suite.Require().Nil(err)
suite.Require().NotNil(psdbmsParserDownload)
suite.Executor.SW = append(suite.Executor.SW, &executor.TServiceWorker{
Service: psdbmsParserDownload,
Worker: pswParseDownload,
})
}
func TestExecutorSuite(t *testing.T) {
suite.Run(t, new(TTestSuiteExecute))
}