Add tests for Oxygen release, Fluorine pre-release
[integration/packaging.git] / packages / test_lib.py
1 ##############################################################################
2 # Copyright (c) 2016 Daniel Farrell.  All rights reserved.
3 #
4 # This program and the accompanying materials are made available under the
5 # terms of the Eclipse Public License v1.0 which accompanies this distribution,
6 # and is available at http://www.eclipse.org/legal/epl-v10.html
7 ##############################################################################
8
9 """Tests for package build logic helper library."""
10
11 import unittest
12
13 import lib
14
15
16 class TestExtractVersion(unittest.TestCase):
17
18     """Test logic to extract ODL versions from artifact URLs."""
19
20     nexus_url = "https://nexus.opendaylight.org/content/repositories"
21
22     def test_carbon_release_url(self):
23         """Test URL of the ODL Carbon release."""
24         url = "%s/opendaylight.release/org/opendaylight/integration/distribution-karaf/0.6.0-Carbon/distribution-karaf-0.6.0-Carbon.tar.gz" % self.nexus_url
25         version = lib.extract_version(url)
26         self.assertEqual(version["version_major"], "6")
27         self.assertEqual(version["version_minor"], "0")
28         self.assertEqual(version["version_patch"], "0")
29         self.assertEqual(version["pkg_version"], "1")
30         self.assertEqual(version["codename"], "-Carbon")
31
32     def test_carbon_release_zip_url(self):
33         """Test URL of the ODL Carbon release zip archive."""
34         url = "%s/opendaylight.release/org/opendaylight/integration/distribution-karaf/0.6.0-Carbon/distribution-karaf-0.6.0-Carbon.zip" % self.nexus_url
35         version = lib.extract_version(url)
36         self.assertEqual(version["version_major"], "6")
37         self.assertEqual(version["version_minor"], "0")
38         self.assertEqual(version["version_patch"], "0")
39         self.assertEqual(version["pkg_version"], "1")
40         self.assertEqual(version["codename"], "-Carbon")
41
42     def test_carbon_sr1_release_url(self):
43         """Test URL of the ODL Carbon SR1 release."""
44         url = "%s/opendaylight.release/org/opendaylight/integration/distribution-karaf/0.6.1-Carbon/distribution-karaf-0.6.1-Carbon.tar.gz" % self.nexus_url
45         version = lib.extract_version(url)
46         self.assertEqual(version["version_major"], "6")
47         self.assertEqual(version["version_minor"], "1")
48         self.assertEqual(version["version_patch"], "0")
49         self.assertEqual(version["pkg_version"], "1")
50         self.assertEqual(version["codename"], "-Carbon")
51
52     def test_carbon_sr1_release_zip_url(self):
53         """Test URL of the ODL Carbon SR1 release zip archive."""
54         url = "%s/opendaylight.release/org/opendaylight/integration/distribution-karaf/0.6.1-Carbon/distribution-karaf-0.6.1-Carbon.zip" % self.nexus_url
55         version = lib.extract_version(url)
56         self.assertEqual(version["version_major"], "6")
57         self.assertEqual(version["version_minor"], "1")
58         self.assertEqual(version["version_patch"], "0")
59         self.assertEqual(version["pkg_version"], "1")
60         self.assertEqual(version["codename"], "-Carbon")
61
62     def test_nitrogen_release_url(self):
63         """Test URL of the ODL Nitrogen release."""
64         url = "%s/opendaylight.release/org/opendaylight/integration/karaf/0.7.0/karaf-0.7.0.tar.gz" % self.nexus_url
65         version = lib.extract_version(url)
66         self.assertEqual(version["version_major"], "7")
67         self.assertEqual(version["version_minor"], "0")
68         self.assertEqual(version["version_patch"], "0")
69         self.assertEqual(version["pkg_version"], "1")
70         self.assertEqual(version["codename"], "")
71
72     def test_nitrogen_release_zip_url(self):
73         """Test URL of the ODL Nitrogen release zip archive."""
74         url = "%s/opendaylight.release/org/opendaylight/integration/karaf/0.7.0/karaf-0.7.0.zip" % self.nexus_url
75         version = lib.extract_version(url)
76         self.assertEqual(version["version_major"], "7")
77         self.assertEqual(version["version_minor"], "0")
78         self.assertEqual(version["version_patch"], "0")
79         self.assertEqual(version["pkg_version"], "1")
80         self.assertEqual(version["codename"], "")
81
82     def test_nitrogen_sr1_release_url(self):
83         """Test URL of the ODL Nitrogen SR1 release."""
84         url = "%s/opendaylight.release/org/opendaylight/integration/karaf/0.7.1/karaf-0.7.1.tar.gz" % self.nexus_url
85         version = lib.extract_version(url)
86         self.assertEqual(version["version_major"], "7")
87         self.assertEqual(version["version_minor"], "1")
88         self.assertEqual(version["version_patch"], "0")
89         self.assertEqual(version["pkg_version"], "1")
90         self.assertEqual(version["codename"], "")
91
92     def test_nitrogen_release_zip_url(self):
93         """Test URL of the ODL Nitrogen release zip archive."""
94         url = "%s/opendaylight.release/org/opendaylight/integration/karaf/0.7.1/karaf-0.7.1.zip" % self.nexus_url
95         version = lib.extract_version(url)
96         self.assertEqual(version["version_major"], "7")
97         self.assertEqual(version["version_minor"], "1")
98         self.assertEqual(version["version_patch"], "0")
99         self.assertEqual(version["pkg_version"], "1")
100         self.assertEqual(version["codename"], "")
101
102     def test_carbon_autorelease_url(self):
103         """Test URL of an ODL Carbon autorelease build."""
104         # NB: This will need to be updated as old builds expire
105         url = "%s/autorelease-2101/org/opendaylight/integration/distribution-karaf/0.6.4-Carbon/distribution-karaf-0.6.4-Carbon.tar.gz" % self.nexus_url
106         version = lib.extract_version(url)
107         self.assertEqual(version["version_major"], "6")
108         self.assertEqual(version["version_minor"], "4")
109         self.assertEqual(version["version_patch"], "0")
110         self.assertEqual(version["pkg_version"], "0.1.20180225rel2101")
111         self.assertEqual(version["codename"], "-Carbon")
112
113     def test_carbon_autorelease_zip_url(self):
114         """Test URL of an ODL Carbon autorelease build zip archive."""
115         # NB: This will need to be updated as old builds expire
116         url = "%s/autorelease-2101/org/opendaylight/integration/distribution-karaf/0.6.4-Carbon/distribution-karaf-0.6.4-Carbon.zip" % self.nexus_url
117         version = lib.extract_version(url)
118         self.assertEqual(version["version_major"], "6")
119         self.assertEqual(version["version_minor"], "4")
120         self.assertEqual(version["version_patch"], "0")
121         self.assertEqual(version["pkg_version"], "0.1.20180225rel2101")
122         self.assertEqual(version["codename"], "-Carbon")
123
124     def test_nitrogen_autorelease_url(self):
125         """Test URL of an ODL Nitrogen autorelease build."""
126         # NB: This will need to be updated as old builds expire
127         url = "%s/autorelease-2096/org/opendaylight/integration/karaf/0.7.2/karaf-0.7.2.tar.gz" % self.nexus_url
128         version = lib.extract_version(url)
129         self.assertEqual(version["version_major"], "7")
130         self.assertEqual(version["version_minor"], "2")
131         self.assertEqual(version["version_patch"], "0")
132         self.assertEqual(version["pkg_version"], "0.1.20180221rel2096")
133         self.assertEqual(version["codename"], "")
134
135     def test_nitrogen_autorelease_zip_url(self):
136         """Test URL of an ODL Nitrogen autorelease build zip archive."""
137         # NB: This will need to be updated as old builds expire
138         url = "%s/autorelease-2096/org/opendaylight/integration/karaf/0.7.2/karaf-0.7.2.zip" % self.nexus_url
139         version = lib.extract_version(url)
140         self.assertEqual(version["version_major"], "7")
141         self.assertEqual(version["version_minor"], "2")
142         self.assertEqual(version["version_patch"], "0")
143         self.assertEqual(version["pkg_version"], "0.1.20180221rel2096")
144         self.assertEqual(version["codename"], "")
145
146     def test_carbon_snapshot_url(self):
147         """Test URL of an ODL Carbon snapshot build."""
148         # NB: This will need to be updated as old builds expire
149         url = "%s/opendaylight.snapshot/org/opendaylight/integration/distribution-karaf/0.6.3-SNAPSHOT/distribution-karaf-0.6.3-20180202.185215-498.tar.gz" % self.nexus_url
150         version = lib.extract_version(url)
151         self.assertEqual(version["version_major"], "6")
152         self.assertEqual(version["version_minor"], "3")
153         self.assertEqual(version["version_patch"], "0")
154         self.assertEqual(version["pkg_version"], "0.1.20180202snap498")
155         self.assertEqual(version["codename"], "-SNAPSHOT")
156
157     def test_carbon_snapshot_zip_url(self):
158         """Test URL of an ODL Carbon snapshot build zip archive."""
159         # NB: This will need to be updated as old builds expire
160         url = "%s/opendaylight.snapshot/org/opendaylight/integration/distribution-karaf/0.6.3-SNAPSHOT/distribution-karaf-0.6.3-20180202.185215-498.zip" % self.nexus_url
161         version = lib.extract_version(url)
162         self.assertEqual(version["version_major"], "6")
163         self.assertEqual(version["version_minor"], "3")
164         self.assertEqual(version["version_patch"], "0")
165         self.assertEqual(version["pkg_version"], "0.1.20180202snap498")
166         self.assertEqual(version["codename"], "-SNAPSHOT")
167
168     def test_nitrogen_snapshot_url(self):
169         """Test URL of an ODL Nitrogen snapshot build."""
170         # NB: This will need to be updated as old builds expire
171         url = "%s/opendaylight.snapshot/org/opendaylight/integration/karaf/0.7.2-SNAPSHOT/karaf-0.7.2-20180130.170631-330.tar.gz" % self.nexus_url
172         version = lib.extract_version(url)
173         self.assertEqual(version["version_major"], "7")
174         self.assertEqual(version["version_minor"], "2")
175         self.assertEqual(version["version_patch"], "0")
176         self.assertEqual(version["pkg_version"], "0.1.20180130snap330")
177         self.assertEqual(version["codename"], "-SNAPSHOT")
178
179     def test_nitrogen_snapshot_zip_url(self):
180         """Test URL of an ODL Nitrogen snapshot build zip archive."""
181         # NB: This will need to be updated as old builds expire
182         url = "%s/opendaylight.snapshot/org/opendaylight/integration/karaf/0.7.2-SNAPSHOT/karaf-0.7.2-20180130.170631-330.zip" % self.nexus_url
183         version = lib.extract_version(url)
184         self.assertEqual(version["version_major"], "7")
185         self.assertEqual(version["version_minor"], "2")
186         self.assertEqual(version["version_patch"], "0")
187         self.assertEqual(version["pkg_version"], "0.1.20180130snap330")
188         self.assertEqual(version["codename"], "-SNAPSHOT")
189
190     def test_oxygen_release_url(self):
191         """Test URL of the ODL Oxygen release."""
192         url = "%s/repositories/opendaylight.release/org/opendaylight/integration/karaf/0.8.0/karaf-0.8.0.tar.gz" % self.nexus_url
193         version = lib.extract_version(url)
194         self.assertEqual(version["version_major"], "8")
195         self.assertEqual(version["version_minor"], "0")
196         self.assertEqual(version["version_patch"], "0")
197         self.assertEqual(version["pkg_version"], "1")
198         self.assertEqual(version["codename"], "")
199
200     def test_oxygen_release_zip_url(self):
201         """Test URL of the ODL Oxygen release zip archive."""
202         url = "%s/repositories/opendaylight.release/org/opendaylight/integration/karaf/0.8.0/karaf-0.8.0.zip" % self.nexus_url
203         version = lib.extract_version(url)
204         self.assertEqual(version["version_major"], "8")
205         self.assertEqual(version["version_minor"], "0")
206         self.assertEqual(version["version_patch"], "0")
207         self.assertEqual(version["pkg_version"], "1")
208         self.assertEqual(version["codename"], "")
209
210     def test_oxygen_snapshot_url(self):
211         """Test URL of an ODL Oxygen snapshot build."""
212         # NB: This will need to be updated as old builds expire
213         url = "%s/opendaylight.snapshot/org/opendaylight/integration/karaf/0.8.0-SNAPSHOT/karaf-0.8.0-20180202.194543-1393.tar.gz" % self.nexus_url
214         version = lib.extract_version(url)
215         self.assertEqual(version["version_major"], "8")
216         self.assertEqual(version["version_minor"], "0")
217         self.assertEqual(version["version_patch"], "0")
218         self.assertEqual(version["pkg_version"], "0.1.20180202snap1393")
219         self.assertEqual(version["codename"], "-SNAPSHOT")
220
221     def test_oxygen_snapshot_zip_url(self):
222         """Test URL of an ODL Oxygen snapshot build zip archive."""
223         # NB: This will need to be updated as old builds expire
224         url = "%s/opendaylight.snapshot/org/opendaylight/integration/karaf/0.8.0-SNAPSHOT/karaf-0.8.0-20180202.194543-1393.zip" % self.nexus_url
225         version = lib.extract_version(url)
226         self.assertEqual(version["version_major"], "8")
227         self.assertEqual(version["version_minor"], "0")
228         self.assertEqual(version["version_patch"], "0")
229         self.assertEqual(version["pkg_version"], "0.1.20180202snap1393")
230         self.assertEqual(version["codename"], "-SNAPSHOT")
231
232     def test_fluorine_snapshot_url(self):
233         """Test URL of an ODL Fluorine snapshot build."""
234         # NB: This will need to be updated as old builds expire
235         url = "%s/opendaylight.snapshot/org/opendaylight/integration/karaf/0.9.0-SNAPSHOT/karaf-0.9.0-20180411.203859-563.tar.gz" % self.nexus_url
236         version = lib.extract_version(url)
237         self.assertEqual(version["version_major"], "9")
238         self.assertEqual(version["version_minor"], "0")
239         self.assertEqual(version["version_patch"], "0")
240         self.assertEqual(version["pkg_version"], "0.1.20180411snap563")
241         self.assertEqual(version["codename"], "-SNAPSHOT")
242
243     def test_fluorine_snapshot_zip_url(self):
244         """Test URL of an ODL Fluorine snapshot build zip archive."""
245         # NB: This will need to be updated as old builds expire
246         url = "%s/opendaylight.snapshot/org/opendaylight/integration/karaf/0.9.0-SNAPSHOT/karaf-0.9.0-20180411.203859-563.tar.gz" % self.nexus_url
247         version = lib.extract_version(url)
248         self.assertEqual(version["version_major"], "9")
249         self.assertEqual(version["version_minor"], "0")
250         self.assertEqual(version["version_patch"], "0")
251         self.assertEqual(version["pkg_version"], "0.1.20180411snap563")
252         self.assertEqual(version["codename"], "-SNAPSHOT")
253
254     def test_carbon_multipatch_zip_url(self):
255         """Test URL of an ODL Carbon multipatch-test build zip archive."""
256         # NB: This will need to be updated as old builds expire
257         url = "%s/opendaylight.snapshot/org/opendaylight/integration/integration/distribution/distribution-karaf/0.6.3-SNAPSHOT/distribution-karaf-0.6.3-20180115.181738-1.zip" % self.nexus_url
258         version = lib.extract_version(url)
259         self.assertEqual(version["version_major"], "6")
260         self.assertEqual(version["version_minor"], "3")
261         self.assertEqual(version["version_patch"], "0")
262         self.assertEqual(version["pkg_version"], "0.1.20180115snap1")
263         self.assertEqual(version["codename"], "-SNAPSHOT")
264
265     def test_nitrogen_multipatch_zip_url(self):
266         """Test URL of an ODL Nitrogen multipatch-test build zip archive."""
267         # NB: This will need to be updated as old builds expire
268         url = "%s/opendaylight.snapshot/org/opendaylight/integration/integration/distribution/karaf/0.7.2-SNAPSHOT/karaf-0.7.2-20180115.183312-2.zip" % self.nexus_url
269         version = lib.extract_version(url)
270         self.assertEqual(version["version_major"], "7")
271         self.assertEqual(version["version_minor"], "2")
272         self.assertEqual(version["version_patch"], "0")
273         self.assertEqual(version["pkg_version"], "0.1.20180115snap2")
274         self.assertEqual(version["codename"], "-SNAPSHOT")
275
276     def test_oxygen_multipatch_zip_url(self):
277         """Test URL of an ODL Oxygen multipatch-test build zip archive."""
278         # NB: This will need to be updated as old builds expire
279         url = "%s/opendaylight.snapshot/org/opendaylight/integration/integration/distribution/karaf/0.8.0-SNAPSHOT/karaf-0.8.0-20180204.191936-134.zip" % self.nexus_url
280         version = lib.extract_version(url)
281         self.assertEqual(version["version_major"], "8")
282         self.assertEqual(version["version_minor"], "0")
283         self.assertEqual(version["version_patch"], "0")
284         self.assertEqual(version["pkg_version"], "0.1.20180204snap134")
285         self.assertEqual(version["codename"], "-SNAPSHOT")
286
287
288 class TestGetSnapURL(unittest.TestCase):
289
290     """Test logic get URL to latest snapshot build of given major version."""
291
292     url_base = "https://nexus.opendaylight.org/content/repositories/opendaylight.snapshot/org/opendaylight/integration"
293
294     def validate_snap_url(self, snap_url):
295         """Helper for validating snapshot URLs are sane."""
296         self.assertIn(self.url_base, snap_url)
297         self.assertIn("tar.gz", snap_url)
298         self.assertNotIn("release", snap_url)
299         self.assertNotIn("public", snap_url)
300
301     def test_carbon(self):
302         """Test Carbon major version gives sane snapshot URL."""
303         self.validate_snap_url(lib.get_snap_url("6"))
304
305     def test_nitrogen(self):
306         """Test Nitrogen major version gives sane snapshot URL."""
307         self.validate_snap_url(lib.get_snap_url("7"))
308
309     def test_oxygen(self):
310         """Test Oxygen major version gives sane snapshot URL."""
311         self.validate_snap_url(lib.get_snap_url("8"))
312
313
314 class TestGetDistroNamePrefix(unittest.TestCase):
315
316     """Test logic to get Karaf 3/4 distro name prefix per ODL major version."""
317
318     k3_distro_prefix = "distribution-karaf"
319     k4_distro_prefix = "karaf"
320
321     def test_carbon(self):
322         """Test Carbon major version gives Karaf 3 prefix."""
323         distro_prefix = lib.get_distro_name_prefix("6")
324         self.assertEqual(distro_prefix, self.k3_distro_prefix)
325
326     def test_nitrogen(self):
327         """Test Nitrogen major version gives Karaf 4 prefix."""
328         distro_prefix = lib.get_distro_name_prefix("7")
329         self.assertEqual(distro_prefix, self.k4_distro_prefix)
330
331     def test_oxygen(self):
332         """Test Oxygen major version gives Karaf 4 prefix."""
333         distro_prefix = lib.get_distro_name_prefix("8")
334         self.assertEqual(distro_prefix, self.k4_distro_prefix)
335
336     def test_carbon_int(self):
337         """Test Carbon major version as int gives Karaf 3 prefix."""
338         distro_prefix = lib.get_distro_name_prefix(6)
339         self.assertEqual(distro_prefix, self.k3_distro_prefix)
340
341     def test_nitrogen_int(self):
342         """Test Nitrogen major version as int gives Karaf 4 prefix."""
343         distro_prefix = lib.get_distro_name_prefix(7)
344         self.assertEqual(distro_prefix, self.k4_distro_prefix)
345
346     def test_oxygen_int(self):
347         """Test Oxygen major version as int gives Karaf 4 prefix."""
348         distro_prefix = lib.get_distro_name_prefix(8)
349         self.assertEqual(distro_prefix, self.k4_distro_prefix)
350
351
352 class TestGetSysdCommit(unittest.TestCase):
353
354     """Test fn to get most recent Int/Pack hash to use as sysd file version."""
355
356     def test_type(self):
357         """Check that returned value is of the right type."""
358         sysd_hash = lib.get_sysd_commit()
359         self.assertIsInstance(sysd_hash, str)
360
361     def test_len(self):
362         """Check that returned value the normal length for a commit hash."""
363         sysd_hash = lib.get_sysd_commit()
364         self.assertEqual(len(sysd_hash), 40)
365
366     def test_only_valid_chars(self):
367         """Check that returned value only contains typical commit hash chars."""
368         sysd_hash = lib.get_sysd_commit()
369         self.assertRegexpMatches(sysd_hash, "^[A-Za-z0-9-]+$")
370
371
372 class TestGetJavaVersion(unittest.TestCase):
373
374     """Test fn to get Java version required for a given ODL version."""
375
376     def test_type_given_int(self):
377         """Pass int, check that returned value is of the right type."""
378         java_version = lib.get_java_version(6)
379         self.assertIsInstance(java_version, int)
380
381     def test_type_given_str(self):
382         """Pass int, check that returned value is of the right type."""
383         java_version = lib.get_java_version("6")
384         self.assertIsInstance(java_version, int)
385
386     def test_old_given_int(self):
387         """Pass old ODL major version, check that Java 7 returned."""
388         java_version = lib.get_java_version(4)
389         self.assertEqual(java_version, 7)
390
391     def test_old_given_str(self):
392         """Pass old ODL major version, check that Java 7 returned."""
393         java_version = lib.get_java_version("4")
394         self.assertEqual(java_version, 7)
395
396     def test_carbon_given_int(self):
397         """Pass Carbon major version, check that Java 8 returned."""
398         java_version = lib.get_java_version(6)
399         self.assertEqual(java_version, 8)
400
401     def test_carbon_given_str(self):
402         """Pass Carbon major version, check that Java 8 returned."""
403         java_version = lib.get_java_version("6")
404         self.assertEqual(java_version, 8)
405
406     def test_nitrogen_given_int(self):
407         """Pass Nitrogen major version, check that Java 8 returned."""
408         java_version = lib.get_java_version(7)
409         self.assertEqual(java_version, 8)
410
411     def test_nitrogen_given_str(self):
412         """Pass Nitrogen major version, check that Java 8 returned."""
413         java_version = lib.get_java_version("7")
414         self.assertEqual(java_version, 8)
415
416     def test_oxygen_given_int(self):
417         """Pass Oxygen major version, check that Java 8 returned."""
418         java_version = lib.get_java_version(8)
419         self.assertEqual(java_version, 8)
420
421     def test_oxygen_given_str(self):
422         """Pass Oxygen major version, check that Java 8 returned."""
423         java_version = lib.get_java_version("8")
424         self.assertEqual(java_version, 8)
425
426
427 class TestGetChangelogDate(unittest.TestCase):
428
429     """Test lib fn that gives date for changelog in RPM or Deb format."""
430
431     def test_type_rpm(self):
432         """Test type of return object is correct given RPM arg."""
433         changelog_date = lib.get_changelog_date("rpm")
434         self.assertIsInstance(changelog_date, str)
435
436     def test_type_deb(self):
437         """Test type of return object is correct given Deb arg."""
438         changelog_date = lib.get_changelog_date("deb")
439         self.assertIsInstance(changelog_date, str)
440
441     def test_has_year_rpm(self):
442         """Test returned value has a year in it given RPM arg."""
443         changelog_date = lib.get_changelog_date("rpm")
444         self.assertRegexpMatches(changelog_date, "[20]\d\d")
445
446     def test_has_year_deb(self):
447         """Test returned value has a year in it given Deb arg."""
448         changelog_date = lib.get_changelog_date("deb")
449         self.assertRegexpMatches(changelog_date, "[20]\d\d")
450
451     def test_has_month_rpm(self):
452         """Test returned value has a month in it given RPM arg."""
453         changelog_date = lib.get_changelog_date("rpm")
454         self.assertRegexpMatches(
455             changelog_date,
456             "Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec")
457
458     def test_has_month_deb(self):
459         """Test returned value has a month in it given Deb arg."""
460         changelog_date = lib.get_changelog_date("deb")
461         self.assertRegexpMatches(
462             changelog_date,
463             "Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec")
464
465     def test_has_day_rpm(self):
466         """Test returned value has a day in it given RPM arg."""
467         changelog_date = lib.get_changelog_date("rpm")
468         self.assertRegexpMatches(
469             changelog_date,
470             "Mon|Tue|Wed|Thu|Fri|Sat|Sun")
471
472     def test_has_day_deb(self):
473         """Test returned value has a day in it given Deb arg."""
474         changelog_date = lib.get_changelog_date("deb")
475         self.assertRegexpMatches(
476             changelog_date,
477             "Mon|Tue|Wed|Thu|Fri|Sat|Sun")