Skip to content

Commit 4eec3eb

Browse files
fixed #222, fixed #217, working on #215, working on #200
1 parent 6610ab7 commit 4eec3eb

File tree

12 files changed

+111
-18
lines changed

12 files changed

+111
-18
lines changed

src/main/java/org/woehlke/twitterwall/oodm/repositories/MentionRepository.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,15 @@
88
import org.woehlke.twitterwall.oodm.repositories.common.DomainRepository;
99
import org.woehlke.twitterwall.oodm.repositories.custom.MentionRepositoryCustom;
1010

11+
import java.util.List;
12+
1113
/**
1214
* Created by tw on 15.07.17.
1315
*/
1416
@Repository
1517
public interface MentionRepository extends DomainRepository<Mention>,MentionRepositoryCustom {
1618

17-
Mention findByIdTwitter(long idTwitter);
19+
List<Mention> findByIdTwitter(long idTwitter);
1820

1921
Mention findByScreenNameUnique(String screenNameUnique);
2022

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

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@
1616
import org.woehlke.twitterwall.oodm.repositories.TaskRepository;
1717
import org.woehlke.twitterwall.oodm.service.MentionService;
1818

19+
import java.util.List;
20+
1921

2022
/**
2123
* Created by tw on 12.06.17.
@@ -36,7 +38,16 @@ public MentionServiceImpl(MentionRepository mentionRepository, TaskRepository ta
3638

3739
@Override
3840
public Mention findByIdTwitter(long idTwitter) {
39-
return mentionRepository.findByIdTwitter(idTwitter);
41+
if(idTwitter < 0L){
42+
return null;
43+
}
44+
List<Mention> resultList = mentionRepository.findByIdTwitter(idTwitter);
45+
for(Mention result:resultList){
46+
if (result.getIdTwitter() >0L){
47+
return result;
48+
}
49+
}
50+
return null;
4051
}
4152

4253
@Override

src/test/java/org/woehlke/twitterwall/frontend/controller/ImprintControllerTest.java

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
import org.woehlke.twitterwall.Application;
1717
import org.woehlke.twitterwall.conf.properties.TwitterProperties;
1818
import org.woehlke.twitterwall.conf.properties.FrontendProperties;
19+
import org.woehlke.twitterwall.frontend.controller.common.PrepareDataTest;
1920
import org.woehlke.twitterwall.test.UserServiceTestHelper;
2021

2122
import static org.assertj.core.api.Java6Assertions.assertThat;
@@ -42,15 +43,18 @@ public class ImprintControllerTest {
4243
@Autowired
4344
private MockMvc mockMvc;
4445

45-
@Autowired
46-
private UserServiceTestHelper userServiceTestHelper;
46+
//@Autowired
47+
//private UserServiceTestHelper userServiceTestHelper;
4748

48-
@Autowired
49-
private TwitterProperties twitterProperties;
49+
//@Autowired
50+
//private TwitterProperties twitterProperties;
5051

5152
@Autowired
5253
private FrontendProperties frontendProperties;
5354

55+
@Autowired
56+
private PrepareDataTest prepareDataTest;
57+
5458
//@Commit
5559
@Test
5660
public void controllerIsPresentTest(){
@@ -63,7 +67,7 @@ public void controllerIsPresentTest(){
6367
public void fetchTweetsFromTwitterSearchTest() throws Exception {
6468
log.info("------------------------------------");
6569
log.info("fetchTweetsFromSearchTest: START userServiceTest.createUser("+ frontendProperties.getImprintScreenName()+")");
66-
userServiceTestHelper.createUser(frontendProperties.getImprintScreenName());
70+
prepareDataTest.createUser(frontendProperties.getImprintScreenName());
6771
log.info("fetchTweetsFromSearchTest: DONE userServiceTest.createUser("+ frontendProperties.getImprintScreenName()+")");
6872
log.info("------------------------------------");
6973
Assert.assertTrue(true);

src/test/java/org/woehlke/twitterwall/frontend/controller/MediaControllerTest.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -59,9 +59,9 @@ public void setupTestData() throws Exception {
5959
@Test
6060
public void getAllTest() throws Exception {
6161
String msg ="getAllTest: ";
62-
MvcResult result = this.mockMvc.perform(get("/mention/all"))
62+
MvcResult result = this.mockMvc.perform(get("/media/all"))
6363
.andExpect(status().isOk())
64-
.andExpect(view().name("mention/all"))
64+
.andExpect(view().name("media/all"))
6565
.andExpect(model().attributeExists("myPageContent"))
6666
.andExpect(model().attributeExists("page"))
6767
.andReturn();
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,13 @@
11
package org.woehlke.twitterwall.frontend.controller.common;
22

33

4+
import org.woehlke.twitterwall.oodm.entities.User;
5+
46
public interface PrepareDataTest {
57

68
void getTestDataTweets(String msg);
79

810
void getTestDataUser(String msg);
11+
12+
User createUser(String screenName);
913
}

src/test/java/org/woehlke/twitterwall/frontend/controller/common/impl/PrepareDataTestImpl.java

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
import org.woehlke.twitterwall.frontend.controller.common.PrepareDataTest;
1717
import org.woehlke.twitterwall.oodm.entities.Tweet;
1818
import org.woehlke.twitterwall.oodm.entities.Task;
19+
import org.woehlke.twitterwall.oodm.entities.User;
1920
import org.woehlke.twitterwall.oodm.entities.parts.CountedEntities;
2021
import org.woehlke.twitterwall.oodm.entities.parts.TaskType;
2122
import org.woehlke.twitterwall.oodm.service.TaskService;
@@ -28,6 +29,7 @@
2829

2930
import javax.persistence.NoResultException;
3031
import java.util.ArrayList;
32+
import java.util.Date;
3133
import java.util.List;
3234

3335
/**
@@ -173,6 +175,60 @@ public void getTestDataUser(String msg){
173175
taskService.done(task,countedEntities);
174176
}
175177

178+
@Override
179+
public User createUser(String screenName) {
180+
CountedEntities countedEntities = countedEntitiesService.countAll();
181+
String msg = "createUser for screenName="+screenName;
182+
Task task = taskService.create(msg, TaskType.CONTROLLER_CREATE_TESTDATA_USERS,countedEntities);
183+
log.info("-----------------------------------------");
184+
try {
185+
log.info("screenName = "+ screenName);
186+
User user = userService.findByScreenName(screenName);
187+
log.info("userService.findByScreenName: found User = "+user.toString());
188+
log.info("model.addAttribute user = "+user.toString());
189+
return user;
190+
} catch (EmptyResultDataAccessException e){
191+
log.info("EmptyResultDataAccessException at userService.findByScreenName for screenName="+screenName);
192+
TwitterProfile twitterProfile = twitterApiService.getUserProfileForScreenName(screenName);
193+
log.info("twitterApiService.getUserProfileForScreenName: found TwitterProfile = "+twitterProfile.toString());
194+
try {
195+
log.info("try: persistDataFromTwitter.storeUserProfile for twitterProfile = "+twitterProfile.toString());
196+
User user = storeUserProfile.storeUserProfile(twitterProfile,task);
197+
log.info("persistDataFromTwitter.storeUserProfile: stored User = "+user.toString());
198+
log.info("model.addAttribute user = "+user.toString());
199+
return user;
200+
} catch (EmptyResultDataAccessException ex){
201+
log.warn("persistDataFromTwitter.storeUserProfile raised EmptyResultDataAccessException: "+ex.getMessage());
202+
User user = getDummyUser(task);
203+
log.info("model.addAttribute user = "+user.toString());
204+
return user;
205+
} catch (NoResultException exe) {
206+
log.warn("persistDataFromTwitter.storeUserProfile raised NoResultException: "+exe.getMessage());
207+
User user = getDummyUser(task);
208+
log.info("model.addAttribute user = "+user.toString());
209+
return user;
210+
}
211+
} finally {
212+
countedEntities = countedEntitiesService.countAll();
213+
taskService.done(task,countedEntities);
214+
log.info("... finally done ...");
215+
log.info("-----------------------------------------");
216+
}
217+
}
218+
219+
private User getDummyUser(Task task){
220+
long idTwitter=0L;
221+
String screenName = frontendProperties.getImprintScreenName();
222+
String name="Exception Handler Dummy Username";
223+
String url="https://github.com/phasenraum2010/twitterwall2";
224+
String profileImageUrl="https://avatars2.githubusercontent.com/u/303766?v=3&s=460";
225+
String description="Exception Handler Dummy Description with some #HashTag an URL like https://thomas-woehlke.blogspot.de/ and an @Mention.";
226+
String location="Berlin, Germany";
227+
Date createdDate = new Date();
228+
User user = new User(task,null,idTwitter,screenName, name, url, profileImageUrl, description, location, createdDate);
229+
return user;
230+
}
231+
176232
private final TwitterApiService twitterApiService;
177233

178234
private final StoreOneTweet storeOneTweet;

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

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -101,16 +101,17 @@ public void getAllWithoutPersistentUser() throws Exception {
101101
public void findByIdTwitter() throws Exception {
102102
String msg = "findByIdTwitter: ";
103103
int page=1;
104-
int size=1;
104+
int size=20;
105105
Pageable pageRequest = new PageRequest(page,size);
106106
Page<Mention> myPage = mentionService.getAll(pageRequest);
107107
Assert.assertTrue(msg,myPage.getTotalElements()>0);
108-
if(myPage.getTotalElements()>0) {
109-
Mention myMention = myPage.getContent().iterator().next();
108+
for(Mention myMention:myPage.getContent()){
110109
long idTwitter = myMention.getIdTwitter();
111-
Mention myFoundMention = mentionService.findByIdTwitter(idTwitter);
112-
Assert.assertNotNull(myFoundMention);
113-
Assert.assertEquals(msg,idTwitter,myFoundMention.getIdTwitter().longValue());
110+
if(idTwitter > 0L) {
111+
Mention myFoundMention = mentionService.findByIdTwitter(idTwitter);
112+
Assert.assertNotNull(myFoundMention);
113+
Assert.assertEquals(msg, idTwitter, myFoundMention.getIdTwitter().longValue());
114+
}
114115
}
115116
}
116117

src/test/java/org/woehlke/twitterwall/test/TestDataHelper.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
@Deprecated
77
public interface TestDataHelper {
88

9+
/*
910
@Deprecated
1011
String PROFILE_URLS[] = {
1112
"http://t.co/hIxL9WeoP1",
@@ -67,4 +68,5 @@ public interface TestDataHelper {
6768
"https://t.co/hMMJBGFFKR",
6869
"https://t.co/cbsEBiSW2E",
6970
};
71+
*/
7072
}

src/test/java/org/woehlke/twitterwall/test/UrlServiceTestHelper.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@
1111
@Deprecated
1212
public interface UrlServiceTestHelper {
1313

14+
/*
1415
@Deprecated
1516
List<Url> getTestData(Task task);
17+
*/
1618
}

src/test/java/org/woehlke/twitterwall/test/UrlServiceTestImpl.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package org.woehlke.twitterwall.test;
22

33
import org.springframework.beans.factory.annotation.Autowired;
4+
import org.springframework.stereotype.Component;
45
import org.springframework.stereotype.Service;
56
import org.springframework.transaction.annotation.Propagation;
67
import org.springframework.transaction.annotation.Transactional;
@@ -14,13 +15,15 @@
1415
* Created by tw on 01.07.17.
1516
*/
1617
@Deprecated
17-
@Service
18+
@Component
19+
//@Service
1820
//@Transactional(propagation = Propagation.REQUIRED, readOnly = true)
1921
public class UrlServiceTestImpl implements UrlServiceTestHelper {
2022

2123
//@Autowired
2224
//private BackendProperties backendProperties;
2325

26+
/*
2427
@Override
2528
//@Transactional(propagation = Propagation.NOT_SUPPORTED, readOnly = true)
2629
public List<Url> getTestData(Task task) {
@@ -46,6 +49,7 @@ public List<Url> getTestData(Task task) {
4649
}
4750
return testData;
4851
}
52+
*/
4953

5054
//TODO: #198 https://github.com/phasenraum2010/twitterwall2/issues/198
5155
//private static Map<String, String> hosts = new HashMap<>();

0 commit comments

Comments
 (0)