Skip to content

Instantly share code, notes, and snippets.

@joshbirk
Created August 18, 2014 21:32
Show Gist options
  • Save joshbirk/ac435960d85ef6b90e33 to your computer and use it in GitHub Desktop.
Save joshbirk/ac435960d85ef6b90e33 to your computer and use it in GitHub Desktop.
FlickrView AKA KittenForce (aka puppyforce)
public with sharing class FlickrHandler {
public class FlickrList {
public string title {get; set;}
public string link {get; set;}
public List<FlickrData> items {get; set;}
}
public class FlickrData {
public string title {get; set;}
public string link {get; set;}
public FlickrImage media {get; set;}
public string author {get; set;}
public string description {get; set;}
}
public class FlickrImage {
public string m {get; set;}
}
public FlickrList data {get; set;}
public FlickrHandler() {
if(ApexPages.currentPage().getParameters().containsKey('tag')) { data = getFlickrData(ApexPages.currentPage().getParameters().get('tag')); }
else {data = getFlickrData('cute kitten');}
}
public FlickrHandler(ApexPages.StandardController stc) {
if(ApexPages.currentPage().getParameters().containsKey('tag')) { data = getFlickrData(ApexPages.currentPage().getParameters().get('tag')); }
else {data = getFlickrData('cute kitten');}
}
public FlickrList getFlickrData(string tag) {
HttpRequest req = new HttpRequest();
req.setMethod('GET');
req.setEndpoint('http://api.flickr.com/services/feeds/photos_public.gne?nojsoncallback=1&format=json&tags='+tag);
HTTP http = new HTTP();
HTTPResponse res = http.send(req);
return (FlickrList)JSON.deserialize(res.getBody().replace('\\\'',''),FlickrList.class);
}
}
@isTest
public class FlickrTest{
@isTest static void testCallout(){
Test.setMock(HttpCalloutMock.class, new MockHttpResponseGenerator());
FlickrHandler fh = new FlickrHandler();
FlickrHandler.FlickrList fl = new FlickrHandler.FlickrList();
FlickrHandler.FlickrData fd = new FLickrHandler.FlickrData();
}
}
@isTest
public class TestClase{
@isTest static void testCase(){
//setup test data
List<Contact> contacts = ContactFactory.createTestContacts();
//process / perform logic
EvaluateContacts.processs(contacts);
//assert outcome
System.assertEquals(EvaluateContacts.processed.size(),contacts.size());
}
}
<apex:page controller="FlickrHandler">
<apex:repeat value="{!data.items}" var="img">
<div style="position: inline; float: left;">
{!img.title}<br /><img src="{!img.media.m}" />
<br />
</div>
</apex:repeat>
</apex:page>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment