/*
* Copyright 2010 Nabeel Mukhtar
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* 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 com.appspot.bitlyminous.gateway;
import java.util.Arrays;
import java.util.Collection;
import java.util.List;
import com.appspot.bitlyminous.constant.ApplicationConstants;
import com.appspot.bitlyminous.entity.Tag;
import com.appspot.bitlyminous.entity.Url;
import com.appspot.bitlyminous.gateway.DeliciousGateway;
import com.appspot.bitlyminous.gateway.GatewayFactory;
import junit.framework.TestCase;
/**
* The Class DeliciousGatewayTest.
*/
public class DeliciousGatewayTest extends TestCase {
/** The Constant FACTORY. */
protected static final GatewayFactory FACTORY = GatewayFactory.newInstance();
/** The gateway. */
protected DeliciousGateway gateway;
/* (non-Javadoc)
* @see junit.framework.TestCase#setUp()
*/
protected void setUp() throws Exception {
gateway = FACTORY.createDeliciousGateway(ApplicationConstants.DELICIOUS_CONSUMER_KEY, ApplicationConstants.DELICIOUS_CONSUMER_SECRET, ApplicationConstants.DELICIOUS_ACCESS_TOKEN, ApplicationConstants.DELICIOUS_ACCESS_TOKEN_SECRET);
}
/* (non-Javadoc)
* @see junit.framework.TestCase#tearDown()
*/
protected void tearDown() throws Exception {
gateway = null;
}
/**
* Test get suggested tags.
*/
public void testGetSuggestedTags() {
List<String> suggestedTags = gateway.getSuggestedTags("http://hadoop.apache.org");
assertNotNullOrEmpty("Suggested tags should not be null or empty.", suggestedTags);
}
/**
* Test add url.
*/
public void testAddUrl() {
gateway.addUrl(getTestUrl());
}
/**
* Test get user tags.
*/
public void testGetUserTags() {
List<Tag> userTags = gateway.getUserTags();
assertNotNullOrEmpty("User tags should not be null or empty.", userTags);
}
/**
* Test get recent urls.
*/
public void testGetRecentUrls() {
List<Url> recentUrls = gateway.getRecentUrls("java");
assertNotNullOrEmpty("Recent urls should not be null or empty.", recentUrls);
}
/**
* Test get popular urls.
*/
public void testGetPopularUrls() {
List<Url> popularUrls = gateway.getPopularUrls("java");
assertNotNullOrEmpty("Popular urls should not be null or empty.", popularUrls);
}
/**
* Gets the test url.
*
* @return the test url
*/
protected Url getTestUrl() {
Url url = new Url();
url.setDescription("Home of hadoop.");
url.setTags(Arrays.asList("hadoop", "mapreduce"));
url.setUrl("http://hadoop.apache.org");
return url;
}
/**
* Assert not null or empty.
*
* @param message the message
* @param value the value
*/
protected static void assertNotNullOrEmpty(String message, String value) {
assertNotNull(message, value);
assertFalse(message, "".equals(value));
}
/**
* Assert not null or empty.
*
* @param message the message
* @param value the value
*/
protected static void assertNotNullOrEmpty(String message, Collection<?> value) {
assertNotNull(message, value);
assertFalse(message, value.isEmpty());
}
}