/*
* Copyright 2007 Yusuke Yamamoto
*
* 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 twitter4j;
import twitter4j.json.DataObjectFactory;
import java.util.List;
/**
* @author Yusuke Yamamoto - yusuke at mac.com
* @since Twitter4J 2.2.4
*/
public class SavedSearchesResourcesTest extends TwitterTestBase {
public SavedSearchesResourcesTest(String name) {
super(name);
}
protected void setUp() throws Exception {
super.setUp();
}
protected void tearDown() throws Exception {
super.tearDown();
}
/* Saved Searches Methods */
public void testSavedSearches() throws Exception {
List<SavedSearch> list = twitter1.getSavedSearches();
assertNotNull(DataObjectFactory.getRawJSON(list));
for (SavedSearch savedSearch : list) {
twitter1.destroySavedSearch(savedSearch.getId());
}
SavedSearch ss1 = twitter1.createSavedSearch("my search");
assertNotNull(DataObjectFactory.getRawJSON(ss1));
assertEquals(ss1, DataObjectFactory.createSavedSearch(DataObjectFactory.getRawJSON(ss1)));
assertEquals("my search", ss1.getQuery());
assertEquals(-1, ss1.getPosition());
list = twitter1.getSavedSearches();
assertNotNull(DataObjectFactory.getRawJSON(list));
assertEquals(list.get(0), DataObjectFactory.createSavedSearch(DataObjectFactory.getRawJSON(list.get(0))));
// http://code.google.com/p/twitter-api/issues/detail?id=1032
// the saved search may not be immediately available
assertTrue(0 <= list.size());
try {
SavedSearch ss2 = twitter1.destroySavedSearch(ss1.getId());
assertEquals(ss1, ss2);
} catch (TwitterException te) {
// sometimes it returns 404 or 500 when its out of sync.
assertTrue(404 == te.getStatusCode() || 500 == te.getStatusCode());
}
}
}