// tslint:disable:max-line-length // tslint:disable:no-shadowed-variable // tslint:disable:object-literal-sort-keys import test from 'blue-tape' import { appMessageParser } from '.' import { PadproMessagePayload } from '../schemas' const sampleLink: PadproMessagePayload = { content: '全球最惨烈的房地产泡沫,是怎么滋生、膨胀、破灭的?十次危机九次地产,过去一百年有四次波澜壮阔的房地产危机,每一次都影响深远,猫哥打算分两期跟大家回顾这四次地产危机,个中滋味各自体会。5000http://mp.weixin.qq.com/s?__biz=MjM5MDY5NjI2MQ==&mid=2649758936&idx=1&sn=57c792c972163c93331c4e5daefe81d3&chksm=be446af28933e3e4a98dc8478cb72e43269dafefaa0241f5a2863d12540d37d56afff48f8617&mpshare=1&scene=1&srcid=0807oacxSyqTqFVtuXlErueP#rd03059020100045230500201000204300cad8c02033d0af802047030feb602045b68dd6a042b777875706c6f61645f373032313533303331334063686174726f6f6d333835385f3135333335393930383102040104000302010004002e2b8a1ace12ecf482119868ebf0eb855270160160fe3ba55a0eec46cd8e66e6ae08f1c5e6fe3ba55a0eec46cd8e66e6ae08f1c5e60wxid_rdwh63c150bm12182_15336270500gh_315ad8d1dc77大猫财经http://mmbiz.qpic.cn/mmbiz_jpg/tft1HVJPPk9BOD3thBicXAzZpO117gbtVy8lhB7Pn3nsZtU7ydhUJQZdT33HEvnQynJgsib93JXbs1jBKjkMAJJA/300?wx_fmt=jpeg&wxfrom=1lylezhuifeng01', fromUser: 'lylezhuifeng', messageId: '8273769814016020343', messageSource: '\n', messageType: 49, status: 1, timestamp: 1533627051, toUser: 'wxid_rdwh63c150bm12', } // Keep the content below for future reference // const sampleLinkContent = { // msg: { // appmsg: { // appid: '', // sdkver: '0', // title: '全球最惨烈的房地产泡沫,是怎么滋生、膨胀、破灭的?', // des: '十次危机九次地产,过去一百年有四次波澜壮阔的房地产危机,每一次都影响深远,猫哥打算分两期跟大家回顾这四次地产危机,个中滋味各自体会。', // action: {}, // type: '5', // showtype: '0', // soundtype: '0', // mediatagname: {}, // messageext: {}, // messageaction: {}, // content: {}, // contentattr: '0', // url: 'http://mp.weixin.qq.com/s?__biz=MjM5MDY5NjI2MQ==&mid=2649758936&idx=1&sn=57c792c972163c93331c4e5daefe81d3&chksm=be446af28933e3e4a98dc8478cb72e43269dafefaa0241f5a2863d12540d37d56afff48f8617&mpshare=1&scene=1&srcid=0807oacxSyqTqFVtuXlErueP#rd', // lowurl: {}, // dataurl: {}, // lowdataurl: {}, // appattach: { // totallen: '0', // attachid: {}, // emoticonmd5: {}, // fileext: {}, // cdnthumburl: '30580201000451304f020100020419661a0702032f4f560204977ac2dc02045b6bc2a0042a777875706c6f61645f777869645f72647768363363313530626d31323139385f313533333738383833320204010400030201000400', // cdnthumbmd5: '2e2b8a1ace12ecf482119868ebf0eb85', // cdnthumblength: '5270', // cdnthumbwidth: '160', // cdnthumbheight: '160', // cdnthumbaeskey: 'fe3ba55a0eec46cd8e66e6ae08f1c5e6', // aeskey: 'fe3ba55a0eec46cd8e66e6ae08f1c5e6', // encryver: '0', // filekey: 'wxid_rdwh63c150bm12198_1533788832' // }, // extinfo: {}, // sourceusername: 'gh_315ad8d1dc77', // sourcedisplayname: '大猫财经', // thumburl: 'http://mmbiz.qpic.cn/mmbiz_jpg/tft1HVJPPk9BOD3thBicXAzZpO117gbtVy8lhB7Pn3nsZtU7ydhUJQZdT33HEvnQynJgsib93JXbs1jBKjkMAJJA/300?wx_fmt=jpeg&wxfrom=1', // md5: {}, // statextstr: {} // }, // fromusername: 'lylezhuifeng', // scene: '0', // appinfo: { // version: '1', // appname: {} // }, // commenturl: {} // } // } // const sampleFile = { // content: '滴滴出行行程报销单.pdf6000133559@cdn_30580201000451304f0201000204d8e50c6e02033d0af802046731feb602045b694b77042a777875706c6f61645f777869645f72647768363363313530626d31323138365f313533333632373235350204010400050201000400_dda53cf3b3344147b0cd7c4fc02886e2_1pdf30580201000451304f0201000204d8e50c6e02033d0af802046731feb602045b694b77042a777875706c6f61645f777869645f72647768363363313530626d31323138365f313533333632373235350204010400050201000400dda53cf3b3344147b0cd7c4fc02886e20wxid_rdwh63c150bm12186_153362725522038764154d52a56017ba24031c0422lylezhuifeng01', // continue: 1, // description: '高原ོ : [文件]滴滴出行行程报销单.pdf', // from_user: 'lylezhuifeng', // msg_id: '3489869879335154488', // msg_source: '\n', // msg_type: 5, // status: 1, // sub_type: 49, // timestamp: 1533627255, // to_user: 'wxid_rdwh63c150bm12', // uin: 3774860349 // } // const sampleFileContent = { // msg: { // appmsg: { // appid: '', // sdkver: '0', // title: '滴滴出行行程报销单.pdf', // des: {}, // action: {}, // type: '6', // showtype: '0', // soundtype: '0', // mediatagname: {}, // messageext: {}, // messageaction: {}, // content: {}, // contentattr: '0', // url: {}, // lowurl: {}, // dataurl: {}, // lowdataurl: {}, // appattach: { // totallen: '133559', // attachid: '@cdn_30580201000451304f0201000204d8e50c6e02032f4f5602044a7ac2dc02045b6bc316042a777875706c6f61645f777869645f72647768363363313530626d31323230305f313533333738383935300204010400050201000400_dda53cf3b3344147b0cd7c4fc02886e2_1', // emoticonmd5: {}, // fileext: 'pdf', // cdnattachurl: '30580201000451304f0201000204d8e50c6e02032f4f5602044a7ac2dc02045b6bc316042a777875706c6f61645f777869645f72647768363363313530626d31323230305f313533333738383935300204010400050201000400', // cdnthumbaeskey: {}, // aeskey: 'dda53cf3b3344147b0cd7c4fc02886e2', // encryver: '0', // filekey: 'wxid_rdwh63c150bm12200_1533788950' // }, // extinfo: {}, // sourceusername: {}, // sourcedisplayname: {}, // thumburl: {}, // md5: '22038764154d52a56017ba24031c0422', // statextstr: {} // }, // fromusername: 'lylezhuifeng', // scene: '0', // appinfo: { // version: '1', // appname: {} // }, // commenturl: {} // } // } // const sampleLink2 = { // content: '600k concurrent websocket connections on AWS using Node.js - Jaywayhttps://blog.jayway.com/2015/04/13/600k-concurrent-websocket-connections-on-aws-using-node-js/5000https://blog.jayway.com/2015/04/13/600k-concurrent-websocket-connections-on-aws-using-node-js/0https://blog.jayway.com/wp-content/jayway-full-logotype.svglylezhuifeng01', // continue: 1, // description: '高原ོ : [链接]600k concurrent websocket connections on AWS using Node.js - Jayway', // from_user: 'lylezhuifeng', // msg_id: '8535518458251892057', // msg_source: '\n', // msg_type: 5, // status: 1, // sub_type: 49, // timestamp: 1533627385, // to_user: 'wxid_rdwh63c150bm12', // uin: 3774860349 // } // const sampleLink2Content = { // msg: { // appmsg: { // appid: '', // sdkver: '0', // title: '600k concurrent websocket connections on AWS using Node.js - Jayway', // des: 'https://blog.jayway.com/2015/04/13/600k-concurrent-websocket-connections-on-aws-using-node-js/', // action: {}, // type: '5', // showtype: '0', // soundtype: '0', // mediatagname: {}, // messageext: {}, // messageaction: {}, // content: {}, // contentattr: '0', // url: 'https://blog.jayway.com/2015/04/13/600k-concurrent-websocket-connections-on-aws-using-node-js/', // lowurl: {}, // dataurl: {}, // lowdataurl: {}, // appattach: { // totallen: '0', // attachid: {}, // emoticonmd5: {}, // fileext: {}, // cdnthumbaeskey: {}, // aeskey: {} // }, // extinfo: {}, // sourceusername: {}, // sourcedisplayname: {}, // thumburl: 'https://blog.jayway.com/wp-content/jayway-full-logotype.svg', // md5: {}, // statextstr: {} // }, // fromusername: 'lylezhuifeng', // scene: '0', // appinfo: { // version: '1', // appname: {} // }, // commenturl: {} // } // } // const sampleApp = { // content: '每日优鲜"我发现一个买生鲜的好地方,2小时就能送到!"33000https://mp.weixin.qq.com/mp/waerrpage?appid=wxebf773691904eee9&type=upgrade&upgradetype=3#wechat_redirect030580201000451304f020100020419661a0702032f4f560204287ac2dc02045b6a8a6e042a777875706c6f61645f777869645f72647768363363313530626d31323139345f3135333337303839313002040104000302010004002bf781f3805a38e1cd22b1f4591152e7846640112521728fac9bf29cbe4891a7669ab2ee4760a98fac9bf29cbe4891a7669ab2ee4760a90wxid_rdwh63c150bm12194_1533708910gh_05c85a53c7ee@app每日优鲜31300lylezhuifeng01', // continue: 1, // description: '你收到了一条消息', // from_user: 'lylezhuifeng', // msg_id: '8899432683540025195', // msg_source: '\n', // msg_type: 5, // status: 1, // sub_type: 49, // timestamp: 1533708910, // to_user: 'wxid_rdwh63c150bm12', // uin: 3774860349 // } // const sampleAppContent = { // msg: { // appmsg: { // appid: '', // sdkver: '0', // title: '美团外卖', // des: '你想吃的,你想喝的:都在美团外卖!赶快下单吧~', // action: {}, // type: '33', // showtype: '0', // soundtype: '0', // mediatagname: {}, // messageext: {}, // messageaction: {}, // content: {}, // contentattr: '0', // url: 'https://mp.weixin.qq.com/mp/waerrpage?appid=wx2c348cf579062e56&type=upgrade&upgradetype=3#wechat_redirect', // lowurl: {}, // dataurl: {}, // lowdataurl: {}, // appattach: { // totallen: '0', // attachid: {}, // emoticonmd5: {}, // fileext: {}, // cdnthumburl: '30580201000451304f020100020419661a0702032f4f560204977ac2dc02045b6bc377042a777875706c6f61645f777869645f72647768363363313530626d31323230325f313533333738393034370204010400030201000400', // cdnthumbmd5: 'ea93bdfe84222ec60c0c67ea2eb7e1e5', // cdnthumblength: '742008', // cdnthumbwidth: '1125', // cdnthumbheight: '2172', // cdnthumbaeskey: 'addba6b6857945dbbe37c13912e56fa1', // aeskey: 'addba6b6857945dbbe37c13912e56fa1', // encryver: '0', // filekey: 'wxid_rdwh63c150bm12202_1533789047' // }, // extinfo: {}, // sourceusername: 'gh_72a4eb2d4324@app', // sourcedisplayname: '美团外卖', // thumburl: {}, // md5: {}, // statextstr: {}, // weappinfo: { // username: 'gh_72a4eb2d4324@app', // appid: 'wx2c348cf579062e56', // type: '2', // version: '92', // weappiconurl: 'http://mmbiz.qpic.cn/mmbiz_png/IXJic6HOb8QT02PwzH5wCUicpuGmIagaUJLxzGRKtoY8PLQqBR1UDHwK5DpsyRJnQ0OHAFGaA8jweXGUh8RsJpCA/0?wx_fmt=png', // pagepath: 'pages/index/index.html?from=from_share_index', // shareId: '0_wx2c348cf579062e56_426121735_1533789047_0', // appservicetype: '0' // } // }, // fromusername: 'lylezhuifeng', // scene: '0', // appinfo: { // version: '1', // appname: {} // }, // commenturl: {} // } // } // const sampleLink3Content = { // msg: { // appmsg: { // appid: 'wx59cc372381201d39', // sdkver: '0', // title: '今日份的咖啡小幸运,最高手气1.1折!', // des: 'lucky goolooloo', // action: {}, // type: '5', // showtype: '0', // soundtype: '0', // mediatagname: {}, // messageext: {}, // messageaction: {}, // content: {}, // contentattr: '0', // url: 'https://m.luckincoffee.com/apartRedPacket/apart?type=dice&orderNo=6azHKjkwryVGoZqd59AXjg%3D%3D&activityNo=lIQyKaOWVbgHhAXZu8wpZg%3D%3D&inviteCode=dUBPtbSXDyCuwZhJhgQw4w%3D%3D', // lowurl: {}, // dataurl: {}, // lowdataurl: {}, // appattach: { // totallen: '0', // attachid: {}, // emoticonmd5: {}, // fileext: {}, // cdnthumburl: '305a0201000453305102010002044e95586402032f4f560204257ac2dc02045b6bc373042c777875706c6f61645f313632373036363430324063686174726f6f6d32343038315f313533333738393034310204010400030201000400', // cdnthumbmd5: '6e2f715dd149433dbc93e6b2121fc1bc', // cdnthumblength: '14465', // cdnthumbwidth: '120', // cdnthumbheight: '120', // cdnthumbaeskey: '84906ddd0d5f4908932dd3880e89c8b6', // aeskey: '84906ddd0d5f4908932dd3880e89c8b6', // encryver: '0', // filekey: 'wxid_rdwh63c150bm12204_1533801210' // }, // extinfo: {}, // sourceusername: {}, // sourcedisplayname: {}, // thumburl: {}, // md5: {}, // statextstr: 'GhQKEnd4NTljYzM3MjM4MTIwMWQzOQ==' // }, // fromusername: 'lylezhuifeng', // scene: '0', // appinfo: { // version: '1', // appname: 'luckincoffee瑞幸咖啡' // }, // commenturl: {} // } // } test('Should be able to parse url link message successfully', async (t) => { const payload = await appMessageParser(sampleLink) const expectedResult = { title: '全球最惨烈的房地产泡沫,是怎么滋生、膨胀、破灭的?', des: '十次危机九次地产,过去一百年有四次波澜壮阔的房地产危机,每一次都影响深远,猫哥打算分两期跟大家回顾这四次地产危机,个中滋味各自体会。', url: 'http://mp.weixin.qq.com/s?__biz=MjM5MDY5NjI2MQ==&mid=2649758936&idx=1&sn=57c792c972163c93331c4e5daefe81d3&chksm=be446af28933e3e4a98dc8478cb72e43269dafefaa0241f5a2863d12540d37d56afff48f8617&mpshare=1&scene=1&srcid=0807oacxSyqTqFVtuXlErueP#rd', thumburl: 'http://mmbiz.qpic.cn/mmbiz_jpg/tft1HVJPPk9BOD3thBicXAzZpO117gbtVy8lhB7Pn3nsZtU7ydhUJQZdT33HEvnQynJgsib93JXbs1jBKjkMAJJA/300?wx_fmt=jpeg&wxfrom=1', md5: '', type: 5, appattach: { aeskey: 'fe3ba55a0eec46cd8e66e6ae08f1c5e6', attachid: '', cdnattachurl: undefined, cdnthumbaeskey: 'fe3ba55a0eec46cd8e66e6ae08f1c5e6', emoticonmd5: '', encryver: 0, fileext: '', totallen: 0, islargefilemsg: 0 }, recorditem: undefined } t.deepEqual(payload, expectedResult) })