|
1 | 1 | /* eslint-disable @typescript-eslint/no-var-requires */ |
2 | 2 | /* eslint-disable require-jsdoc */ |
3 | | -const querystring = require('querystring'); |
4 | | -const fs = require('fs'); |
5 | | -const nodeFetch = require('node-fetch'); |
6 | | -const file = fs.readFileSync(`${__dirname}/txList`, 'utf-8'); |
7 | | -const createTestFile = require('./createTestFile'); |
8 | | - |
9 | | -export interface ITxResult { |
10 | | - error: string; |
11 | | - txString: string; |
12 | | - parsedCode: string; |
13 | | - status: number; |
14 | | -} |
15 | | - |
16 | | -export interface ITXResults { |
17 | | - success: ITxResult[], |
18 | | - fail: ITxResult[] |
19 | | -} |
20 | | - |
21 | | -/* |
22 | | - * Remove duplicates and clean lines starting with # |
23 | | - * @type {string[]} |
24 | | - */ |
25 | | -const transformationStrings = ([...new Set(file.split('\n'))] as string[]) |
26 | | - .filter((a) => a[0] !== '#').filter((a) => a); |
27 | | - |
28 | | -/* |
29 | | - * Set the SDK Code Snippets Service URL (Change domain/port only |
30 | | - */ |
31 | | -const baseURL = `https://staging-code-snippets.cloudinary.com/v1/generate-code`; |
32 | | - |
33 | | -const results:ITXResults = { |
34 | | - success:[], |
35 | | - fail: [] |
36 | | -}; |
37 | | - |
38 | | -console.log(`Attempting to generate code for ${transformationStrings.length} transformations\n`); |
39 | | - |
40 | | - |
41 | | -let counter = 0; |
42 | | -transformationStrings.forEach(async (txString, i) => { |
43 | | - // Space requests apart |
44 | | - await new Promise((res) => { |
45 | | - setTimeout(() => { |
46 | | - res(); |
47 | | - }, 30 * i + 1); |
48 | | - }); |
49 | | - |
50 | | - console.log('Processing transformation:', i); |
51 | 3 |
|
52 | | - let url = `https://res.cloudinary.com/demo/image/upload/${txString}/sample`; |
53 | | - if (txString.startsWith('http')) { |
54 | | - url = txString; |
55 | | - } |
| 4 | +import {ISanityGeneratorResponse} from "sdk-sanity-generator"; |
56 | 5 |
|
57 | | - const queryArgs = { |
58 | | - frameworks: ['js_2'], |
59 | | - url, |
60 | | - hideActionGroups:0 |
61 | | - }; |
62 | | - |
63 | | - const queryString = querystring.stringify(queryArgs, '&', '=', { |
64 | | - encodeURIComponent(a: string) { |
65 | | - return a; |
66 | | - } |
67 | | - }); |
68 | | - |
69 | | - const URL = `${baseURL}?${queryString}`; |
70 | | - |
71 | | - const res = await nodeFetch(URL).catch((e: Error) => { |
72 | | - console.log(e); |
73 | | - }); |
74 | | - |
75 | | - const frameworksWithCode = await res.json(); |
76 | | - |
77 | | - // get JS snippets |
78 | | - const JSSnippet = frameworksWithCode[0]; |
79 | | - |
80 | | - // Fail, but not by design (11 = Expected unnsupported feature |
81 | | - if (JSSnippet.error && JSSnippet.status !== 11) { |
82 | | - results.fail.push({ |
83 | | - txString, |
84 | | - error: JSSnippet.raw_code, |
85 | | - parsedCode: null, |
86 | | - status: JSSnippet.status |
87 | | - }); |
88 | | - } else { // Success |
89 | | - results.success.push({ |
90 | | - txString, |
91 | | - parsedCode: JSSnippet.raw_code, |
92 | | - error: null, |
93 | | - status: JSSnippet.status |
94 | | - }); |
95 | | - } |
| 6 | +const fs = require('fs'); |
| 7 | +const sanityGenerator = require('sdk-sanity-generator').sanityGenerator; |
| 8 | +const createTestFile = require('./createTestFile'); |
96 | 9 |
|
97 | | - /* |
98 | | - * Store the result in a file of your choosing |
99 | | - */ |
100 | | - if (counter === transformationStrings.length - 1) { |
101 | | - console.log (`Successful transformations: ${results.success.length}`); |
102 | | - console.log (`Failed transformations: ${results.fail.length}`); |
103 | | - fs.writeFileSync(`${__dirname}/results.json`, JSON.stringify(results)); |
104 | | - fs.writeFileSync(`${__dirname}/../../__TESTS__/compilation.test.ts`, createTestFile(results.success)); |
105 | | - } |
106 | | - counter++; |
| 10 | +sanityGenerator({ |
| 11 | + framework: 'js_2', |
| 12 | + requestSpreading: 70 |
| 13 | +}).then((res: ISanityGeneratorResponse) => { |
| 14 | + console.log(res); |
| 15 | + console.log(`Successful transformations: ${res.success.length}`); |
| 16 | + console.log(`Failed transformations: ${res.error.length}`); |
| 17 | + fs.writeFileSync(`${__dirname}/results.json`, JSON.stringify(res.success)); |
| 18 | + fs.writeFileSync(`${__dirname}/../../__TESTS__/compilation.test.ts`, createTestFile(res.success)); |
107 | 19 | }); |
108 | | - |
109 | | - |
0 commit comments