Advertisement
Guest User

Untitled

a guest
May 24th, 2019
107
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.38 KB | None | 0 0
  1. package com.perform.sddp.content;
  2.  
  3. import com.perform.sddp.Utils;
  4. import com.perform.sddp.schedule.RedisSchedule;
  5. import com.perform.sddp.schedule.ScheduleTemplate;
  6.  
  7. import io.jsonwebtoken.Header;
  8. import io.jsonwebtoken.Jwts;
  9. import io.jsonwebtoken.SignatureAlgorithm;
  10. import org.apache.http.HttpEntity;
  11. import org.apache.http.NameValuePair;
  12. import org.apache.http.client.HttpClient;
  13. import org.apache.http.client.entity.UrlEncodedFormEntity;
  14. import org.apache.http.client.methods.HttpPost;
  15. import org.apache.http.impl.client.HttpClients;
  16. import org.apache.http.message.BasicNameValuePair;
  17. import org.junit.Test;
  18. import org.slf4j.Logger;
  19. import org.slf4j.LoggerFactory;
  20.  
  21. import javax.rmi.CORBA.Util;
  22. import java.io.BufferedWriter;
  23. import java.io.IOException;
  24. import java.io.OutputStreamWriter;
  25. import java.net.HttpURLConnection;
  26. import java.net.URL;
  27. import java.nio.charset.StandardCharsets;
  28. import java.security.MessageDigest;
  29. import java.security.NoSuchAlgorithmException;
  30. import java.util.ArrayList;
  31. import java.util.List;
  32. import java.util.Map;
  33. import java.util.Set;
  34.  
  35. import static org.junit.Assert.assertEquals;
  36.  
  37. //This class is only to show example of use scheduleSender
  38. //Will be removed after first tests for content plugin
  39.  
  40. public class SetupForTests {
  41. private String correct = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJyZXF1ZXN0Qm9keUhhc2giOiIwZjFlZWQzN2E1ZWYxZjkwZWIxN2Y5NjAxY2I0ZTVlNjc5YzkwMTNmNTg1ZDlmNTc0OTI5MGFmOGUxYmMwNDViIn0.w2lHwiA3NKlCao9dMsaRv8de11J0DVWpQmPS0DFTFw0";
  42. private static final SignatureAlgorithm SIGN_ALG = SignatureAlgorithm.HS256;
  43. private static MessageDigest DIGEST;
  44. private String jwtKey = "contentTestToken1";
  45. private String payloadHeaderName = "requestBodyHash";
  46.  
  47. public static String load = Utils.readFileFromResources("com/perform/sddp/templates/1.json");
  48.  
  49. static {
  50. try {
  51. DIGEST = MessageDigest.getInstance("SHA-256");
  52. } catch (NoSuchAlgorithmException ex) {
  53. System.out.println("Can't get SHA-256 digest object");
  54. }
  55. }
  56.  
  57. String jwt () throws IOException {
  58.  
  59. byte asd [] = load.getBytes(StandardCharsets.UTF_8);
  60. String jwt = Jwts.builder()
  61. .setHeaderParam(Header.TYPE, Header.JWT_TYPE)
  62. .setPayload("{\"" + payloadHeaderName + "\": \"" + computeHash(asd) + "\"}")
  63. .signWith(SIGN_ALG, jwtKey)
  64. .compact();
  65. System.out.println(computeHash(asd));
  66. System.out.println(jwt + " created");
  67. System.out.println(correct + " correct");
  68. return "asd";
  69. }
  70.  
  71. static String computeHash(final byte[] payload) {
  72. return bytesToHex(DIGEST.digest(payload));
  73. }
  74.  
  75. private static String bytesToHex(final byte[] hash) {
  76. StringBuilder hexString = new StringBuilder(hash.length * 2);
  77. for (byte b : hash) {
  78. String hex = Integer.toHexString(0xff & b);
  79. if (hex.length() == 1) {
  80. hexString.append('0');
  81. }
  82. hexString.append(hex);
  83. }
  84. return hexString.toString();
  85. }
  86.  
  87. @Test
  88. public void testSendAndDeleteScheduleFromRedis() throws IOException{
  89. //RedisSchedule.sendScheduleToRedis(ScheduleTemplate.createScheduleFromTemplate());
  90. //RedisSchedule.deleteScheduleFromRedis(ScheduleTemplate.createScheduleFromTemplate());
  91. jwt();
  92. }
  93. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement