/*
* Copyright 2015 Red Hat, Inc. and/or its affiliates.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.ext.uberfire.social.activities.servlet;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.ext.uberfire.social.activities.model.DefaultTypes;
import org.ext.uberfire.social.activities.model.SocialActivitiesEvent;
import org.ext.uberfire.social.activities.model.SocialEventType;
import org.ext.uberfire.social.activities.service.SocialAdapter;
import org.ext.uberfire.social.activities.service.SocialCommandTypeFilter;
import org.junit.Test;
import static org.junit.Assert.*;
public class SocialRouterTest {
@Test
public void pathHandleTest() {
String path = "/follow_user";
SocialRouter router = new SocialRouter();
assertEquals("follow_user",
router.extractPath(path));
}
@Test
public void findSpecificAdapter() {
String path = "/dummy_event";
SocialRouter router = createMock();
SocialAdapter adapter = router.getSocialAdapterByPath(path);
assertEquals(DefaultTypes.DUMMY_EVENT,
adapter.socialEventType());
}
@Test
public void getAdapterTimeLineFilters() {
String path = "/dummy_event";
SocialRouter router = createMock();
SocialAdapter adapter = router.getSocialAdapterByPath(path);
assertFalse(adapter.getTimelineFilters().isEmpty());
}
private SocialRouter createMock() {
return new SocialRouter() {
public Map<Class, SocialAdapter> getSocialAdapters() {
Map<Class, SocialAdapter> socialAdapters = new HashMap<Class, SocialAdapter>();
socialAdapters.put(Object.class,
new SocialAdapter() {
@Override
public Class eventToIntercept() {
return null;
}
@Override
public SocialEventType socialEventType() {
return DefaultTypes.DUMMY_EVENT;
}
@Override
public boolean shouldInterceptThisEvent(Object event) {
return false;
}
@Override
public SocialActivitiesEvent toSocial(Object object) {
return null;
}
@Override
public List<SocialCommandTypeFilter> getTimelineFilters() {
ArrayList<SocialCommandTypeFilter> predicates = new ArrayList<SocialCommandTypeFilter>();
predicates.add(new SocialCommandTypeFilter() {
@Override
public List<SocialActivitiesEvent> execute(String parameterValue,
List<SocialActivitiesEvent> events) {
return null;
}
@Override
public String getCommandName() {
return null;
}
});
return predicates;
}
@Override
public List<String> getTimelineFiltersNames() {
return null;
}
});
return socialAdapters;
}
};
}
}