package com.jay.monitor.data.server.componts;

import com.jay.monitor.data.server.config.OSSConfig;
import com.jay.monitor.data.server.utils.MarkDownUtils;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;

import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;

/**
 * @Module TODO
 * @Description TODO
 * @Author liukaixiong
 * @Date 2020/12/15 15:54
 */
@RunWith(SpringRunner.class)
@SpringBootTest(classes = {OSSConfig.class})
public class OOSInvokeTest {

    @Autowired
    private OOSInvoke oosInvoke;

    private String defaultBucket = "linux-data";

    @Test
    public void uploadFile() throws Exception {
        String objectName = "alert/image";
        String fileName = "md.jpg";
        String localFile = "C:\\Users\\Administrator\\Desktop\\md.jpg";
        File file = new File(localFile);
        FileInputStream fileInputStream = new FileInputStream(file);
        String s = oosInvoke.uploadFile(defaultBucket, objectName, fileName, fileInputStream);
        System.out.println(s);
    }

    @Test
    public void mdToImage() {
        String mdText = "| **插件名称**                                                 | **插件介绍**                                                 | **官网地址**                                                 |\n" +
                "| ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ |\n" +
                "| Key promoter                                                 | 快捷键提示                                                   | https://plugins.jetbrains.com/plugin/4455?pr=idea            |\n" +
                "| CamelCase                                                    | 驼峰式命名和下划线命名交替变化                               | https://plugins.jetbrains.com/plugin/7160?pr=idea            |\n" +
                "| CheckStyle-IDEA                                              | 代码样式检查                                                 | https://plugins.jetbrains.com/plugin/1065?pr=idea            |\n" +
                "| FindBugs-IDEA                                                | 代码 Bug 检查                                                | https://plugins.jetbrains.com/plugin/3847?pr=idea            |\n" +
                "| Statistic                                                    | 代码统计                                                     | https://plugins.jetbrains.com/plugin/4509?pr=idea            |\n" +
                "| JRebel Plugin                                                | 热部署                                                       | https://plugins.jetbrains.com/plugin/?id=4441                |\n" +
                "| CodeGlance                                                   | 在编辑代码做右侧，显示一块代码小地图                         | https://plugins.jetbrains.com/plugin/7275?pr=idea            |\n" +
                "| Eclipse Code Formatter                                       | 使用 Eclipse 的代码格式化风格，在一个团队中如果公司有规定格式化风格，这个可以使用。 | https://plugins.jetbrains.com/plugin/6546?pr=idea            |\n" +
                "| GsonFormat                                                   | 把 JSON 字符串直接实例化成类                                 | https://plugins.jetbrains.com/plugin/7654?pr=idea            |\n" +
                "| open in github                                               | 集成github的项目点击文件的右键,直接定位到网站github的指定位置 |                                                              |\n" +
                "| makedown support                                             | 编辑.md的文件类型,主要用于github中的REDEME.md的编写          |                                                              |\n" +
                "| maven helper                                                 | maven工具的操作,里面包含了可以使用的一些常用命令.其中最大的一个亮点就是能够分析jar包之间的依赖 |                                                              |\n" +
                "| Translation                                                  | idea里面的翻译插件,可以将中文自动切换成英文                  | http://yiiguxing.github.io/TranslationPlugin/start.html      |\n" +
                "| Grep Console                                                 | 日志级别区分颜色插件                                         |                                                              |\n" +
                "| IDEOM                                                        | idea背景色可以是指定的图片                                   |                                                              |\n" +
                "| [activate-power-mode](https://github.com/ViceFantasyPlace/activate-power-mode) | 敲代码的时候,屏幕一闪一闪的..                                | https://github.com/ViceFantasyPlace/activate-power-mode      |\n" +
                "| Alibaba Java Coding Guidelines                               | 阿里巴巴代码规范检查器,类似于findBug等等,非常棒的一款工具    |                                                              |\n" +
                "| **CodeGlance**                                               | 右侧有一个代码预览面板                                       |                                                              |\n" +
                "| InnerBuilder                                                 | 生成Build模式的方法                                          |                                                              |\n" +
                "| JUnit Generator                                              | 测试用例生成工具                                             |                                                              |\n" +
                "| JProfiles                                                    | 代码运行的工具检测，可以查看类方法的执行耗时时间             | 官网 : https://plugins.jetbrains.com/plugin/253-jprofiler 注册码 : https://blog.csdn.net/liyantianmin/article/details/86534544 |\n" +
                "| Codota                                                       | 代码使用案例                                                 |                                                              |\n" +
                "| .ignore                                                      | git文件忽略                                                  |                                                              |\n" +
                "| Aixcoder code completer                                      | 代码智能补全                                                 |                                                              |\n" +
                "| GitToolBox                                                   | git 工具                                                     |                                                              |\n" +
                "| String Manipulation                                          | 驼峰 命名工具                                                |                                                              |\n" +
                "\n" +
                "\n" +
                "\n" +
                "| asd as | asd asd | ads  |\n" +
                "| ------ | ------- | ---- |\n" +
                "|        |         |      |\n" +
                "\n";

        InputStream inputStream = MarkDownUtils.mdToImage(mdText, "jpg");
        String objectName = "alert/image";
        String fileName = "md-test.jpg";
        String s = oosInvoke.uploadFile(defaultBucket, objectName, fileName, inputStream);
        System.out.println(s);
    }
}