/* * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information * regarding copyright ownership. The ASF licenses this file * to you 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 org.apache.streams.instagram.test.api; import org.apache.streams.instagram.api.InstagramOAuthRequestSigner; import org.apache.streams.instagram.config.InstagramOAuthConfiguration; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.junit.Test; import java.util.HashMap; import java.util.Map; import static org.junit.Assert.assertEquals; /** * Created by sblackmon on 3/26/17. */ public class InstagramOAuthRequestSignerTest { private static final Logger LOGGER = LoggerFactory.getLogger(InstagramOAuthRequestSignerTest.class); private static final InstagramOAuthConfiguration testOauthConfig = new InstagramOAuthConfiguration() .withClientSecret("6dc1787668c64c939929c17683d7cb74") .withAccessToken("fb2e77d.47a0479900504cb3ab4a1f626d174d2d"); private static final InstagramOAuthRequestSigner signer = new InstagramOAuthRequestSigner(testOauthConfig); @Test public void testExample1() throws Exception { String endpoint = "/users/self"; Map<String,String> testParamMap = new HashMap<>(); testParamMap.put("access_token", "fb2e77d.47a0479900504cb3ab4a1f626d174d2d"); String signature_parameter_string = signer.generateSignatureBaseString(endpoint, testParamMap); String expected_parameter_string = endpoint + "|access_token=fb2e77d.47a0479900504cb3ab4a1f626d174d2d"; assertEquals(expected_parameter_string, signature_parameter_string); String signature = signer.computeSignature(signature_parameter_string, testOauthConfig.getClientSecret()); String expected_signature = "cbf5a1f41db44412506cb6563a3218b50f45a710c7a8a65a3e9b18315bb338bf"; assertEquals(expected_signature, signature); } @Test public void testExample2() throws Exception { String endpoint = "/media/657988443280050001_25025320"; Map<String,String> testParamMap = new HashMap<>(); testParamMap.put("access_token", "fb2e77d.47a0479900504cb3ab4a1f626d174d2d"); testParamMap.put("count", "10"); String signature_parameter_string = signer.generateSignatureBaseString(endpoint, testParamMap); String expected_parameter_string = endpoint + "|access_token=fb2e77d.47a0479900504cb3ab4a1f626d174d2d|count=10"; assertEquals(expected_parameter_string, signature_parameter_string); String signature = signer.computeSignature(signature_parameter_string, testOauthConfig.getClientSecret()); String expected_signature = "260634b241a6cfef5e4644c205fb30246ff637591142781b86e2075faf1b163a"; assertEquals(expected_signature, signature); } }