7491ca824b6720efacc45f9ed94e78a0e43ab8c4
[WebKit.git] / Websites / perf.webkit.org / server-tests / resources / mock-data.js
1 require('../../tools/js/v3-models.js');
2
3 var crypto = require('crypto');
4
5 MockData = {
6     resetV3Models: function ()
7     {
8         AnalysisTask._fetchAllPromise = null;
9         AnalysisTask.clearStaticMap();
10         BuildRequest.clearStaticMap();
11         CommitLog.clearStaticMap();
12         Metric.clearStaticMap();
13         Platform.clearStaticMap();
14         Repository.clearStaticMap();
15         CommitSet.clearStaticMap();
16         Test.clearStaticMap();
17         TestGroup.clearStaticMap();
18         Triggerable.clearStaticMap();
19     },
20     someTestId() { return 200; },
21     somePlatformId() { return 65; },
22     addMockData: function (db, statusList)
23     {
24         if (!statusList)
25             statusList = ['pending', 'pending', 'pending', 'pending'];
26         return Promise.all([
27             db.insert('build_triggerables', {id: 1, name: 'build-webkit'}),
28             db.insert('build_slaves', {id: 2, name: 'sync-slave', password_hash: crypto.createHash('sha256').update('password').digest('hex')}),
29             db.insert('repositories', {id: 9, name: 'OS X'}),
30             db.insert('repositories', {id: 11, name: 'WebKit'}),
31             db.insert('commits', {id: 87832, repository: 9, revision: '10.11 15A284'}),
32             db.insert('commits', {id: 93116, repository: 11, revision: '191622', time: (new Date(1445945816878)).toISOString()}),
33             db.insert('commits', {id: 96336, repository: 11, revision: '192736', time: (new Date(1448225325650)).toISOString()}),
34             db.insert('platforms', {id: MockData.somePlatformId(), name: 'some platform'}),
35             db.insert('tests', {id: MockData.someTestId(), name: 'some test'}),
36             db.insert('test_metrics', {id: 300, test: 200, name: 'some metric'}),
37             db.insert('test_configurations', {id: 301, metric: 300, platform: 65, type: 'current'}),
38             db.insert('commit_sets', {id: 401}),
39             db.insert('commit_set_relationships', {set: 401, commit: 87832}),
40             db.insert('commit_set_relationships', {set: 401, commit: 93116}),
41             db.insert('commit_sets', {id: 402}),
42             db.insert('commit_set_relationships', {set: 402, commit: 87832}),
43             db.insert('commit_set_relationships', {set: 402, commit: 96336}),
44             db.insert('analysis_tasks', {id: 500, platform: 65, metric: 300, name: 'some task'}),
45             db.insert('analysis_test_groups', {id: 600, task: 500, name: 'some test group'}),
46             db.insert('build_requests', {id: 700, status: statusList[0], triggerable: 1, platform: 65, test: 200, group: 600, order: 0, commit_set: 401}),
47             db.insert('build_requests', {id: 701, status: statusList[1], triggerable: 1, platform: 65, test: 200, group: 600, order: 1, commit_set: 402}),
48             db.insert('build_requests', {id: 702, status: statusList[2], triggerable: 1, platform: 65, test: 200, group: 600, order: 2, commit_set: 401}),
49             db.insert('build_requests', {id: 703, status: statusList[3], triggerable: 1, platform: 65, test: 200, group: 600, order: 3, commit_set: 402}),
50         ]);
51     },
52     addAnotherMockTestGroup: function (db, statusList, author)
53     {
54         if (!statusList)
55             statusList = ['pending', 'pending', 'pending', 'pending'];
56         return Promise.all([
57             db.insert('analysis_test_groups', {id: 601, task: 500, name: 'another test group', author: author}),
58             db.insert('build_requests', {id: 713, status: statusList[3], triggerable: 1, platform: 65, test: 200, group: 601, order: 3, commit_set: 402}),
59             db.insert('build_requests', {id: 710, status: statusList[0], triggerable: 1, platform: 65, test: 200, group: 601, order: 0, commit_set: 401}),
60             db.insert('build_requests', {id: 712, status: statusList[2], triggerable: 1, platform: 65, test: 200, group: 601, order: 2, commit_set: 401}),
61             db.insert('build_requests', {id: 711, status: statusList[1], triggerable: 1, platform: 65, test: 200, group: 601, order: 1, commit_set: 402}),
62         ]);
63     },
64     mockTestSyncConfigWithSingleBuilder: function ()
65     {
66         return {
67             'triggerableName': 'build-webkit',
68             'lookbackCount': 2,
69             'configurations': [
70                 {
71                     'platform': 'some platform',
72                     'test': ['some test'],
73                     'builder': 'some-builder-1',
74                     'arguments': {
75                         'wk': {'root': 'WebKit'},
76                         'os': {'root': 'OS X'},
77                     },
78                     'buildRequestArgument': 'build-request-id',
79                 }
80             ]
81         }
82     },
83     mockTestSyncConfigWithTwoBuilders: function ()
84     {
85         return {
86             'triggerableName': 'build-webkit',
87             'lookbackCount': 2,
88             'configurations': [
89                 {
90                     'platform': 'some platform',
91                     'test': ['some test'],
92                     'builder': 'some-builder-1',
93                     'arguments': {
94                         'wk': {'root': 'WebKit'},
95                         'os': {'root': 'OS X'},
96                     },
97                     'buildRequestArgument': 'build-request-id',
98                 },
99                 {
100                     'platform': 'some platform',
101                     'test': ['some test'],
102                     'builder': 'some builder 2',
103                     'arguments': {
104                         'wk': {'root': 'WebKit'},
105                         'os': {'root': 'OS X'},
106                     },
107                     'buildRequestArgument': 'build-request-id',
108                 }
109             ]
110         }
111     },
112     pendingBuild(options)
113     {
114         options = options || {};
115         return {
116             'builderName': options.builder || 'some-builder-1',
117             'builds': [],
118             'properties': [
119                 ['wk', options.webkitRevision || '191622'],
120                 ['os', options.osxRevision || '10.11 15A284'],
121                 ['build-request-id', (options.buildRequestId || 702).toString(), ]
122             ],
123             'source': {
124                 'branch': '',
125                 'changes': [],
126                 'codebase': 'WebKit',
127                 'hasPatch': false,
128                 'project': '',
129                 'repository': '',
130                 'revision': ''
131             },
132         };
133     },
134     runningBuild(options)
135     {
136         options = options || {};
137         return {
138             'builderName': options.builder || 'some-builder-1',
139             'builds': [],
140             'properties': [
141                 ['wk', options.webkitRevision || '192736'],
142                 ['os', options.osxRevision || '10.11 15A284'],
143                 ['build-request-id', (options.buildRequestId || 701).toString(), ]
144             ],
145             'currentStep': {},
146             'eta': 721,
147             'number': 124,
148             'source': {
149                 'branch': '',
150                 'changes': [],
151                 'codebase': 'WebKit',
152                 'hasPatch': false,
153                 'project': '',
154                 'repository': '',
155                 'revision': ''
156             },
157         };
158     },
159     finishedBuild(options)
160     {
161         options = options || {};
162         return {
163             'builderName': options.builder || 'some-builder-1',
164             'builds': [],
165             'properties': [
166                 ['wk', options.webkitRevision || '191622'],
167                 ['os', options.osxRevision || '10.11 15A284'],
168                 ['build-request-id', (options.buildRequestId || 700).toString(), ]
169             ],
170             'currentStep': null,
171             'eta': null,
172             'number': 123,
173             'source': {
174                 'branch': '',
175                 'changes': [],
176                 'codebase': 'WebKit',
177                 'hasPatch': false,
178                 'project': '',
179                 'repository': '',
180                 'revision': ''
181             },
182             'times': [0, 1],
183         };
184     }
185 }
186
187 if (typeof module != 'undefined')
188     module.exports = MockData;