Skip to content

Commit ce6a2ef

Browse files
working on #204
1 parent 9a85dea commit ce6a2ef

File tree

3 files changed

+105
-19
lines changed

3 files changed

+105
-19
lines changed

src/main/java/org/woehlke/twitterwall/oodm/entities/parts/TaskStatus.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ public enum TaskStatus {
99
RUNNING,
1010
FINISHED,
1111
ERROR,
12+
FINAL_ERROR,
1213
WARN,
1314
NULL
1415
}

src/main/java/org/woehlke/twitterwall/oodm/service/impl/TaskServiceImpl.java

Lines changed: 23 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -71,130 +71,141 @@ public Task create(String msg,TaskType type,CountedEntities countedEntities) {
7171

7272
@Override
7373
public Task done(Task task,CountedEntities countedEntities) {
74+
TaskStatus oldStatus = task.getTaskStatus();
7475
task.setTaskStatus(TaskStatus.FINISHED);
7576
task.setTimeLastUpdate(new Date());
7677
task = taskRepository.save(task);
7778
Date now = new Date();
78-
TaskHistory event = new TaskHistory("DONE ",task.getTaskStatus(),TaskStatus.FINISHED,now,task,countedEntities);
79+
TaskHistory event = new TaskHistory("DONE ",oldStatus,TaskStatus.FINISHED,now,task,countedEntities);
7980
event = taskHistoryRepository.save(event);
8081
log.debug(task.toString());
8182
return task;
8283
}
8384

8485
@Override
8586
public Task error(Task task,Exception e,CountedEntities countedEntities) {
87+
TaskStatus oldStatus = task.getTaskStatus();
8688
task.setTaskStatus(TaskStatus.ERROR);
8789
task.setTimeLastUpdate(new Date());
8890
task = taskRepository.save(task);
8991
Date now = new Date();
90-
TaskHistory event = new TaskHistory("error: "+e.getMessage(),task.getTaskStatus(),TaskStatus.ERROR,now,task,countedEntities);
92+
TaskHistory event = new TaskHistory("error: "+e.getMessage(),oldStatus,TaskStatus.ERROR,now,task,countedEntities);
9193
event = taskHistoryRepository.save(event);
9294
log.debug(task.toString());
9395
return task;
9496
}
9597

9698
@Override
9799
public Task error(Task task, Exception e, String msg,CountedEntities countedEntities) {
100+
TaskStatus oldStatus = task.getTaskStatus();
98101
task.setTaskStatus(TaskStatus.ERROR);
99102
task.setTimeLastUpdate(new Date());
100103
task = taskRepository.save(task);
101104
Date now = new Date();
102-
TaskHistory event = new TaskHistory(msg+", error: "+e.getMessage(),task.getTaskStatus(),TaskStatus.ERROR,now,task,countedEntities);
105+
TaskHistory event = new TaskHistory(msg+", error: "+e.getMessage(),oldStatus,TaskStatus.ERROR,now,task,countedEntities);
103106
event = taskHistoryRepository.save(event);
104107
log.debug(task.toString());
105108
return task;
106109
}
107110

108111
@Override
109112
public Task warn(Task task, Exception e,CountedEntities countedEntities) {
113+
TaskStatus oldStatus = task.getTaskStatus();
110114
task.setTaskStatus(TaskStatus.WARN);
111115
task.setTimeLastUpdate(new Date());
112116
task = taskRepository.save(task);
113117
Date now = new Date();
114-
TaskHistory event = new TaskHistory("warn: "+e.getMessage(),task.getTaskStatus(),TaskStatus.WARN,now,task,countedEntities);
118+
TaskHistory event = new TaskHistory("warn: "+e.getMessage(),oldStatus,TaskStatus.WARN,now,task,countedEntities);
115119
event = taskHistoryRepository.save(event);
116120
log.debug(task.toString());
117121
return task;
118122
}
119123

120124
@Override
121125
public Task warn(Task task, Exception e, String msg,CountedEntities countedEntities) {
126+
TaskStatus oldStatus = task.getTaskStatus();
122127
task.setTaskStatus(TaskStatus.WARN);
123128
task.setTimeLastUpdate(new Date());
124129
task = taskRepository.save(task);
125130
Date now = new Date();
126-
TaskHistory event = new TaskHistory("warn: "+msg+", "+e.getMessage(),task.getTaskStatus(),TaskStatus.WARN,now,task,countedEntities);
131+
TaskHistory event = new TaskHistory("warn: "+msg+", "+e.getMessage(),oldStatus,TaskStatus.WARN,now,task,countedEntities);
127132
event = taskHistoryRepository.save(event);
128133
log.debug(task.toString());
129134
return task;
130135
}
131136

132137
@Override
133138
public Task event(Task task, String msg,CountedEntities countedEntities) {
139+
TaskStatus oldStatus = task.getTaskStatus();
134140
task.setTimeLastUpdate(new Date());
135141
task = taskRepository.save(task);
136142
Date now = new Date();
137-
TaskHistory event = new TaskHistory("event: "+msg,task.getTaskStatus(),task.getTaskStatus(),now,task,countedEntities);
143+
TaskHistory event = new TaskHistory("event: "+msg,task.getTaskStatus(),oldStatus,now,task,countedEntities);
138144
event = taskHistoryRepository.save(event);
139145
log.debug(task.toString());
140146
return task;
141147
}
142148

143149
@Override
144150
public Task warn(Task task, String msg,CountedEntities countedEntities) {
151+
TaskStatus oldStatus = task.getTaskStatus();
145152
task.setTaskStatus(TaskStatus.WARN);
146153
task.setTimeLastUpdate(new Date());
147154
task = taskRepository.save(task);
148155
Date now = new Date();
149-
TaskHistory event = new TaskHistory("warn: "+msg,task.getTaskStatus(),TaskStatus.WARN,now,task,countedEntities);
156+
TaskHistory event = new TaskHistory("warn: "+msg,oldStatus,TaskStatus.WARN,now,task,countedEntities);
150157
event = taskHistoryRepository.save(event);
151158
log.debug(task.toString());
152159
return task;
153160
}
154161

155162
@Override
156163
public Task error(Task task, String msg,CountedEntities countedEntities) {
164+
TaskStatus oldStatus = task.getTaskStatus();
157165
task.setTaskStatus(TaskStatus.ERROR);
158166
task.setTimeLastUpdate(new Date());
159167
task = taskRepository.save(task);
160168
Date now = new Date();
161-
TaskHistory event = new TaskHistory("error: "+msg,task.getTaskStatus(),TaskStatus.ERROR,now,task,countedEntities);
169+
TaskHistory event = new TaskHistory("error: "+msg,oldStatus,TaskStatus.ERROR,now,task,countedEntities);
162170
event = taskHistoryRepository.save(event);
163171
log.debug(task.toString());
164172
return task;
165173
}
166174

167175
@Override
168176
public Task start(Task task,CountedEntities countedEntities) {
177+
TaskStatus oldStatus = task.getTaskStatus();
169178
task.setTaskStatus(TaskStatus.RUNNING);
170179
task.setTimeLastUpdate(new Date());
171180
task = taskRepository.save(task);
172181
Date now = new Date();
173-
TaskHistory event = new TaskHistory("START",task.getTaskStatus(),TaskStatus.RUNNING,now,task,countedEntities);
182+
TaskHistory event = new TaskHistory("START",oldStatus,TaskStatus.RUNNING,now,task,countedEntities);
174183
event = taskHistoryRepository.save(event);
175184
log.debug(task.toString());
176185
return task;
177186
}
178187

179188
@Override
180189
public Task finalError(Task task, String msg, CountedEntities countedEntities) {
181-
task.setTaskStatus(TaskStatus.ERROR);
190+
TaskStatus oldStatus = task.getTaskStatus();
191+
task.setTaskStatus(TaskStatus.FINAL_ERROR);
182192
task.setTimeLastUpdate(new Date());
183193
task = taskRepository.save(task);
184194
Date now = new Date();
185-
TaskHistory event = new TaskHistory("FINAL ERROR: "+msg,task.getTaskStatus(),TaskStatus.ERROR,now,task,countedEntities);
195+
TaskHistory event = new TaskHistory("FINAL ERROR: "+msg,oldStatus,TaskStatus.FINAL_ERROR,now,task,countedEntities);
186196
event = taskHistoryRepository.save(event);
187197
log.debug(task.toString());
188198
return task;
189199
}
190200

191201
@Override
192202
public Task done(String logMsg, Task task, CountedEntities countedEntities) {
203+
TaskStatus oldStatus = task.getTaskStatus();
193204
task.setTaskStatus(TaskStatus.FINISHED);
194205
task.setTimeLastUpdate(new Date());
195206
task = taskRepository.save(task);
196207
Date now = new Date();
197-
TaskHistory event = new TaskHistory("DONE "+logMsg,task.getTaskStatus(),TaskStatus.FINISHED,now,task,countedEntities);
208+
TaskHistory event = new TaskHistory("DONE "+logMsg,oldStatus,TaskStatus.FINISHED,now,task,countedEntities);
198209
event = taskHistoryRepository.save(event);
199210
log.debug(task.toString());
200211
return task;

src/test/java/org/woehlke/twitterwall/oodm/service/TaskServiceTest.java

Lines changed: 81 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,10 @@
1616
import org.springframework.transaction.annotation.Transactional;
1717
import org.woehlke.twitterwall.conf.properties.TestdataProperties;
1818
import org.woehlke.twitterwall.oodm.entities.Task;
19+
import org.woehlke.twitterwall.oodm.entities.parts.CountedEntities;
20+
import org.woehlke.twitterwall.oodm.entities.parts.TaskStatus;
21+
import org.woehlke.twitterwall.oodm.entities.parts.TaskType;
22+
import org.woehlke.twitterwall.scheduled.service.persist.CountedEntitiesService;
1923

2024
@RunWith(SpringRunner.class)
2125
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.NONE)
@@ -31,6 +35,9 @@ public class TaskServiceTest {
3135
@Autowired
3236
private TestdataProperties testdataProperties;
3337

38+
@Autowired
39+
private CountedEntitiesService countedEntitiesService;
40+
3441
@Commit
3542
@Test
3643
public void areDependenciesLoaded() throws Exception {
@@ -62,24 +69,91 @@ public void findById() throws Exception {
6269
}
6370

6471
@Test
65-
public void create() throws Exception {}
72+
public void create() throws Exception {
73+
String msg = "TaskServiceTest.create";
74+
TaskType type = TaskType.FETCH_TWEETS_FROM_TWITTER_SEARCH;
75+
CountedEntities countedEntities = countedEntitiesService.countAll();
76+
Task createdTask = taskService.create(msg,type,countedEntities);
77+
Assert.assertEquals(createdTask.getTaskStatus(),TaskStatus.READY);
78+
}
6679

6780
@Test
68-
public void done() throws Exception {}
81+
public void done() throws Exception {
82+
String msg = "TaskServiceTest.done";
83+
TaskType type = TaskType.FETCH_TWEETS_FROM_TWITTER_SEARCH;
84+
CountedEntities countedEntities = countedEntitiesService.countAll();
85+
Task myTask = taskService.create(msg,type,countedEntities);
86+
Assert.assertEquals(myTask.getTaskStatus(),TaskStatus.READY);
87+
countedEntities = countedEntitiesService.countAll();
88+
Task createdTask = taskService.done(myTask,countedEntities);
89+
Assert.assertEquals(createdTask.getTaskStatus(),TaskStatus.FINISHED);
90+
Assert.assertEquals(TaskStatus.FINISHED,createdTask.getTaskStatus());
91+
}
6992

7093
@Test
71-
public void error() throws Exception {}
94+
public void error() throws Exception {
95+
String msg = "TaskServiceTest.error";
96+
TaskType type = TaskType.FETCH_TWEETS_FROM_TWITTER_SEARCH;
97+
CountedEntities countedEntities = countedEntitiesService.countAll();
98+
Task myTask = taskService.create(msg,type,countedEntities);
99+
Assert.assertEquals(myTask.getTaskStatus(),TaskStatus.READY);
100+
countedEntities = countedEntitiesService.countAll();
101+
Task createdTask = taskService.error(myTask,msg,countedEntities);
102+
Assert.assertEquals(createdTask.getTaskStatus(),TaskStatus.ERROR);
103+
Assert.assertEquals(TaskStatus.ERROR,createdTask.getTaskStatus());
104+
}
72105

73106
@Test
74-
public void warn() throws Exception {}
107+
public void warn() throws Exception {
108+
String msg = "TaskServiceTest.error";
109+
TaskType type = TaskType.FETCH_TWEETS_FROM_TWITTER_SEARCH;
110+
CountedEntities countedEntities = countedEntitiesService.countAll();
111+
Task myTask = taskService.create(msg,type,countedEntities);
112+
Assert.assertEquals(myTask.getTaskStatus(),TaskStatus.READY);
113+
countedEntities = countedEntitiesService.countAll();
114+
Task createdTask = taskService.warn(myTask,msg,countedEntities);
115+
Assert.assertEquals(createdTask.getTaskStatus(),TaskStatus.WARN);
116+
Assert.assertEquals(TaskStatus.WARN,createdTask.getTaskStatus());
117+
}
75118

76119
@Test
77-
public void event() throws Exception {}
120+
public void event() throws Exception {
121+
String msg = "TaskServiceTest.error";
122+
TaskType type = TaskType.FETCH_TWEETS_FROM_TWITTER_SEARCH;
123+
CountedEntities countedEntities = countedEntitiesService.countAll();
124+
Task myTask = taskService.create(msg,type,countedEntities);
125+
TaskStatus oldStatus = myTask.getTaskStatus();
126+
Assert.assertEquals(myTask.getTaskStatus(),TaskStatus.READY);
127+
countedEntities = countedEntitiesService.countAll();
128+
Task createdTask = taskService.event(myTask,msg,countedEntities);
129+
Assert.assertEquals(createdTask.getTaskStatus(),oldStatus);
130+
Assert.assertEquals(oldStatus,createdTask.getTaskStatus());
131+
}
78132

79133
@Test
80-
public void start() throws Exception {}
134+
public void start() throws Exception {
135+
String msg = "TaskServiceTest.error";
136+
TaskType type = TaskType.FETCH_TWEETS_FROM_TWITTER_SEARCH;
137+
CountedEntities countedEntities = countedEntitiesService.countAll();
138+
Task myTask = taskService.create(msg,type,countedEntities);
139+
Assert.assertEquals(myTask.getTaskStatus(),TaskStatus.READY);
140+
countedEntities = countedEntitiesService.countAll();
141+
Task createdTask = taskService.start(myTask,countedEntities);
142+
Assert.assertEquals(createdTask.getTaskStatus(),TaskStatus.RUNNING);
143+
Assert.assertEquals(TaskStatus.RUNNING,createdTask.getTaskStatus());
144+
}
81145

82146
@Test
83-
public void finalError() throws Exception {}
147+
public void finalError() throws Exception {
148+
String msg = "TaskServiceTest.error";
149+
TaskType type = TaskType.FETCH_TWEETS_FROM_TWITTER_SEARCH;
150+
CountedEntities countedEntities = countedEntitiesService.countAll();
151+
Task myTask = taskService.create(msg,type,countedEntities);
152+
Assert.assertEquals(myTask.getTaskStatus(),TaskStatus.READY);
153+
countedEntities = countedEntitiesService.countAll();
154+
Task createdTask = taskService.finalError(myTask,msg,countedEntities);
155+
Assert.assertEquals(createdTask.getTaskStatus(),TaskStatus.FINAL_ERROR);
156+
Assert.assertEquals(TaskStatus.FINAL_ERROR,createdTask.getTaskStatus());
157+
}
84158

85159
}

0 commit comments

Comments
 (0)