/facebook-java-api/src/test/java/com/google/code/facebookapi/HashTest.java

http://facebook-java-api.googlecode.com/ · Java · 59 lines · 45 code · 14 blank · 0 comment · 0 complexity · 001f2cc1ec17a88af24d1aba419fc7bd MD5 · raw file

  1. package com.google.code.facebookapi;
  2. import static junit.framework.Assert.assertEquals;
  3. import java.util.SortedMap;
  4. import java.util.TreeMap;
  5. import org.apache.log4j.Logger;
  6. import org.junit.Test;
  7. public class HashTest {
  8. protected static Logger logger = Logger.getLogger( HashTest.class );
  9. @Test
  10. public void test_emailHash() {
  11. String email = "mary@example.com";
  12. String expectedHash = "4228600737_c96da02bba97aedfd26136e980ae3761";
  13. String hash = FacebookSignatureUtil.generateEmailHash( email );
  14. assertEquals( expectedHash, hash );
  15. }
  16. @Test
  17. public void test_Sig() {
  18. SortedMap<String,String> paramsA = new TreeMap<String,String>();
  19. paramsA.put( "aA", "aA" );
  20. paramsA.put( "bB", "bB" );
  21. paramsA.put( "cC", "cC" );
  22. String expectedBaseString = "aA=aAbB=bBcC=cC";
  23. StringBuilder baseString = FacebookSignatureUtil.generateBaseString( paramsA );
  24. assertEquals( expectedBaseString, baseString.toString() );
  25. String secret = "secret";
  26. String expectedSignature = "9376fd922ce506221cc1b3892ddca0b9";
  27. String sig = FacebookSignatureUtil.generateSignature( paramsA, secret );
  28. assertEquals( expectedSignature, sig );
  29. }
  30. @Test
  31. public void test_FbSig() {
  32. SortedMap<String,String> paramsA = new TreeMap<String,String>();
  33. paramsA.put( "aA", "aA" );
  34. paramsA.put( "bB", "bB" );
  35. paramsA.put( "cC", "cC" );
  36. String secret = "secret";
  37. SortedMap<String,String> paramsB = new TreeMap<String,String>();
  38. paramsB.put( "fb_sig_aA", "aA" );
  39. paramsB.put( "fb_sig_bB", "bB" );
  40. paramsB.put( "fb_sig_cC", "cC" );
  41. paramsB.put( "fb_sig", "9376fd922ce506221cc1b3892ddca0b9" );
  42. SortedMap<String,String> paramsC = FacebookSignatureUtil.getVerifiedParams( "fb_sig", paramsB, secret );
  43. assertEquals( paramsA, paramsC );
  44. }
  45. }