DiscourseImportTest move to different project

This commit is contained in:
YuCheng Hu 2021-04-15 12:17:25 -04:00
parent a228fa25f3
commit 96ad7aeb24
No known key found for this signature in database
GPG Key ID: 1E5CBEF8B550FB7D
1 changed files with 0 additions and 137 deletions

View File

@ -1,137 +0,0 @@
package com.ossez.lang.tutorial.tests;
import com.google.gson.Gson;
import com.ossez.edtestbank.common.dao.Factory;
import com.ossez.edtestbank.common.dao.factories.PostFactory;
import com.ossez.edtestbank.common.model.entity.BBSOssezForumAttach;
import com.ossez.edtestbank.common.model.entity.BBSOssezForumPost;
import com.ossez.edtestbank.common.model.request.TopicRequest;
import org.apache.commons.io.FileUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.math.NumberUtils;
import org.apache.http.HttpHeaders;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.util.EntityUtils;
import org.joda.time.DateTime;
import org.junit.jupiter.api.AfterAll;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.TestInstance;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.io.File;
import java.io.IOException;
import java.nio.charset.StandardCharsets;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import static org.junit.jupiter.api.Assertions.assertNotNull;
/**
* Test Logger and function
*
* @author YuCheng Hu
*/
@TestInstance(TestInstance.Lifecycle.PER_CLASS)
public class PostTest {
private static Logger logger = LoggerFactory.getLogger(PostTest.class);
@BeforeAll
protected void setUp() throws Exception {
Factory.beginTransaction();
}
@AfterAll
protected void tearDown() throws Exception {
Factory.rollbackTransaction();
}
/**
* Tests search functionality for the customer object.
*/
@Test
public void testPost() throws IOException, InterruptedException {
List<String> idList = FileUtils.readLines(new File("C:\\Users\\yhu\\Pictures\\Pics\\2021-01\\1.txt"));
for (String id : idList) {
processPost(NumberUtils.toLong(id));
Thread.sleep(6000);
// break;
}
// make sure the customer was found
// assertNotNull(bbsOssezForumPost);
}
@Test
public void testDateTime() throws IOException {
DateTime dateTime = new DateTime(1256834117 * 1000L);
System.out.println(dateTime.toString());
}
private void processPost(Long tid) throws IOException {
BBSOssezForumPost bbsOssezForumPost = PostFactory.getBBSOssezForumPostTid(tid);
if (bbsOssezForumPost == null)
return;
logger.debug("Questions Content - {}", bbsOssezForumPost.getSubject());
String postCtx = bbsOssezForumPost.getMessage();
// logger.debug(">>>>{}", postCtx);
String pattern = "\\[attach\\]((\\d)*?)\\[\\/attach\\]";
// Create a Pattern object
Pattern r = Pattern.compile(pattern);
// Now create matcher object.
Matcher m = r.matcher(postCtx);
while (m.find()) {
String attachId = StringUtils.substringBetween(m.group(0), "[attach]", "[/attach]");
logger.debug("{}", attachId);
BBSOssezForumAttach bbsOssezForumAttach = PostFactory.getBBSOssezForumAttach(NumberUtils.toLong(attachId));
if (bbsOssezForumAttach!= null) {
String fullURL = "![](https://cdn.ossez.com/com-ossez-www/data/attachment/forum/" + bbsOssezForumAttach.getAttachment() + ")";
postCtx = StringUtils.replace(postCtx, m.group(0), fullURL);
}
}
logger.debug("{}", postCtx);
CloseableHttpClient client = HttpClients.createDefault();
HttpPost httpPost = new HttpPost("https://www.ossez.com/posts.json");
httpPost.setHeader(HttpHeaders.CONTENT_TYPE, "application/json; charset=UTF-8");
httpPost.setHeader("Api-Key", "XXXXXX");
httpPost.setHeader("Api-Username", "XXXXXX");
TopicRequest topicRequest = new TopicRequest();
topicRequest.setTitle(bbsOssezForumPost.getSubject());
topicRequest.setRaw(postCtx);
topicRequest.setCreated_at(new DateTime(bbsOssezForumPost.getDateline() * 1000L).toString() );
topicRequest.setCategory(30);
StringEntity postingString = new StringEntity(new Gson().toJson(topicRequest), StandardCharsets.UTF_8);
httpPost.setEntity(postingString);
CloseableHttpResponse response = client.execute(httpPost);
logger.info("{}", EntityUtils.toString(response.getEntity()), StandardCharsets.UTF_8);
client.close();
}
}