16
16
package org .vafer .jdeb .changes ;
17
17
18
18
import java .io .ByteArrayInputStream ;
19
+ import java .util .TimeZone ;
19
20
20
21
import static java .nio .charset .StandardCharsets .*;
21
22
import static org .junit .Assert .assertEquals ;
22
23
import static org .junit .Assert .assertNotNull ;
24
+ import org .junit .After ;
25
+ import org .junit .Before ;
23
26
import org .junit .Test ;
24
27
import org .vafer .jdeb .debian .BinaryPackageControlFile ;
25
28
import org .vafer .jdeb .debian .ChangesFile ;
26
29
27
30
public class ChangesFileBuilderTestCase {
28
31
32
+ private TimeZone defaultTimeZone ;
33
+
34
+ @ Before
35
+ public void before () {
36
+ defaultTimeZone = TimeZone .getDefault ();
37
+ }
38
+
39
+ @ After
40
+ public void after () {
41
+ TimeZone .setDefault (defaultTimeZone );
42
+ }
43
+
29
44
@ Test
30
45
public void testChangedByNotSet () throws Exception {
46
+ TimeZone .setDefault (TimeZone .getTimeZone ("America/Chicago" ));
31
47
32
48
final String input =
33
49
"release distribution=production, date=14:00 13.01.2007, version=12324, urgency=low\n " +
@@ -44,6 +60,7 @@ public void testChangedByNotSet() throws Exception {
44
60
45
61
assertNotNull (changeSets );
46
62
assertEquals (1 , changeSets .length );
63
+ assertEquals (1168718400000L , changeSets [0 ].getDate ().getTime ());
47
64
48
65
ChangesFile changesFile = new ChangesFile ();
49
66
changesFile .setChanges (provider .getChangesSets ());
@@ -55,6 +72,7 @@ public void testChangedByNotSet() throws Exception {
55
72
56
73
@ Test
57
74
public void testChangedByFromControl () throws Exception {
75
+ TimeZone .setDefault (TimeZone .getTimeZone ("America/Chicago" ));
58
76
59
77
final String input =
60
78
"release distribution=production, date=14:00 13.01.2007, version=12324, urgency=low\n " +
@@ -72,6 +90,7 @@ public void testChangedByFromControl() throws Exception {
72
90
73
91
assertNotNull (changeSets );
74
92
assertEquals (1 , changeSets .length );
93
+ assertEquals (1168718400000L , changeSets [0 ].getDate ().getTime ());
75
94
76
95
ChangesFile changesFile = new ChangesFile ();
77
96
changesFile .setChanges (provider .getChangesSets ());
@@ -83,6 +102,7 @@ public void testChangedByFromControl() throws Exception {
83
102
84
103
@ Test
85
104
public void testChangedByFromChangesProvider () throws Exception {
105
+ TimeZone .setDefault (TimeZone .getTimeZone ("America/Chicago" ));
86
106
87
107
final String input =
88
108
"release distribution=production, date=14:00 13.01.2007, version=12324, urgency=low, by=mrasko@test.com\n " +
@@ -100,6 +120,7 @@ public void testChangedByFromChangesProvider() throws Exception {
100
120
101
121
assertNotNull (changeSets );
102
122
assertEquals (1 , changeSets .length );
123
+ assertEquals (1168718400000L , changeSets [0 ].getDate ().getTime ());
103
124
104
125
ChangesFile changesFile = new ChangesFile ();
105
126
changesFile .setChanges (provider .getChangesSets ());
@@ -108,4 +129,33 @@ public void testChangedByFromChangesProvider() throws Exception {
108
129
assertNotNull (changesFile );
109
130
assertEquals ("mrasko@test.com" , changesFile .get ("Changed-By" ));
110
131
}
132
+
133
+ @ Test
134
+ public void testReproducible () throws Exception {
135
+ TimeZone .setDefault (TimeZone .getTimeZone ("America/Chicago" ));
136
+
137
+ final String input =
138
+ "release distribution=production, date=14:00 13.01.2007, version=12324, urgency=low\n " +
139
+ " * change1\n " +
140
+ " * change2\n " ;
141
+
142
+ BinaryPackageControlFile packageControlFile = new BinaryPackageControlFile ();
143
+ packageControlFile .set ("Package" , "package" );
144
+ packageControlFile .set ("Version" , "version" );
145
+ packageControlFile .set ("Date" , "Mon, 20 Aug 2007 15:25:57 +0200" );
146
+
147
+ final TextfileChangesProvider provider = new TextfileChangesProvider (new ByteArrayInputStream (input .getBytes (UTF_8 )), packageControlFile , 1175385600000L );
148
+ final ChangeSet [] changeSets = provider .getChangesSets ();
149
+
150
+ assertNotNull (changeSets );
151
+ assertEquals (1 , changeSets .length );
152
+ assertEquals (1168696800000L , changeSets [0 ].getDate ().getTime ());
153
+
154
+ ChangesFile changesFile = new ChangesFile ();
155
+ changesFile .setChanges (provider .getChangesSets ());
156
+ changesFile .initialize (packageControlFile );
157
+
158
+ assertNotNull (changesFile );
159
+ assertEquals (null , changesFile .get ("Changed-By" ));
160
+ }
111
161
}
0 commit comments