mirror of
https://github.com/ckaczor/azuredatastudio.git
synced 2026-01-14 01:25:37 -05:00
166 lines
3.6 KiB
TypeScript
166 lines
3.6 KiB
TypeScript
/*---------------------------------------------------------------------------------------------
|
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
* Licensed under the Source EULA. See License.txt in the project root for license information.
|
|
*--------------------------------------------------------------------------------------------*/
|
|
|
|
'use strict';
|
|
|
|
import 'mocha';
|
|
import * as azdata from 'azdata';
|
|
import * as vscode from 'vscode';
|
|
import * as fs from 'fs';
|
|
import * as os from 'os';
|
|
import * as path from 'path';
|
|
|
|
export class CellTypes {
|
|
public static readonly Code = 'code';
|
|
public static readonly Markdown = 'markdown';
|
|
public static readonly Raw = 'raw';
|
|
}
|
|
|
|
export const pySparkNotebookContent: azdata.nb.INotebookContents = {
|
|
cells: [{
|
|
cell_type: CellTypes.Code,
|
|
source: '1+1',
|
|
metadata: { language: 'python' },
|
|
execution_count: 1
|
|
}],
|
|
metadata: {
|
|
'kernelspec': {
|
|
'name': 'pyspark3kernel',
|
|
'display_name': 'PySpark3'
|
|
}
|
|
},
|
|
nbformat: 4,
|
|
nbformat_minor: 2
|
|
};
|
|
|
|
export const notebookContentForCellLanguageTest: azdata.nb.INotebookContents = {
|
|
cells: [{
|
|
cell_type: CellTypes.Code,
|
|
source: '1+1',
|
|
metadata: {},
|
|
execution_count: 1
|
|
}],
|
|
metadata: {
|
|
'kernelspec': {
|
|
'name': ''
|
|
},
|
|
},
|
|
nbformat: 4,
|
|
nbformat_minor: 2
|
|
};
|
|
|
|
export const pythonNotebookMultipleCellsContent: azdata.nb.INotebookContents = {
|
|
cells: [{
|
|
cell_type: CellTypes.Code,
|
|
source: '1+1',
|
|
metadata: { language: 'python' },
|
|
execution_count: 1
|
|
}, {
|
|
cell_type: CellTypes.Code,
|
|
source: '1+2',
|
|
metadata: { language: 'python' },
|
|
execution_count: 1
|
|
}, {
|
|
cell_type: CellTypes.Code,
|
|
source: '1+3',
|
|
metadata: { language: 'python' },
|
|
execution_count: 1
|
|
}, {
|
|
cell_type: CellTypes.Code,
|
|
source: '1+4',
|
|
metadata: { language: 'python' },
|
|
execution_count: 1
|
|
}],
|
|
metadata: {
|
|
'kernelspec': {
|
|
'name': 'python3',
|
|
'display_name': 'Python 3'
|
|
}
|
|
},
|
|
nbformat: 4,
|
|
nbformat_minor: 2
|
|
};
|
|
|
|
export const sqlNotebookContent: azdata.nb.INotebookContents = {
|
|
cells: [{
|
|
cell_type: CellTypes.Code,
|
|
source: 'select 1',
|
|
metadata: { language: 'sql' },
|
|
execution_count: 1
|
|
}],
|
|
metadata: {
|
|
'kernelspec': {
|
|
'name': 'SQL',
|
|
'display_name': 'SQL'
|
|
}
|
|
},
|
|
nbformat: 4,
|
|
nbformat_minor: 2
|
|
};
|
|
|
|
export const sqlNotebookMultipleCellsContent: azdata.nb.INotebookContents = {
|
|
cells: [{
|
|
cell_type: CellTypes.Code,
|
|
source: 'select 0',
|
|
metadata: { language: 'sql' },
|
|
execution_count: 1
|
|
}, {
|
|
cell_type: CellTypes.Code,
|
|
source: `WAITFOR DELAY '00:00:02'\nselect 1`,
|
|
metadata: { language: 'sql' },
|
|
execution_count: 1
|
|
}, {
|
|
cell_type: CellTypes.Code,
|
|
source: 'select 2',
|
|
metadata: { language: 'sql' },
|
|
execution_count: 1
|
|
}],
|
|
metadata: {
|
|
'kernelspec': {
|
|
'name': 'SQL',
|
|
'display_name': 'SQL'
|
|
}
|
|
},
|
|
nbformat: 4,
|
|
nbformat_minor: 2
|
|
};
|
|
|
|
export const pySpark3KernelMetadata = {
|
|
'kernelspec': {
|
|
'name': 'pyspark3kernel',
|
|
'display_name': 'PySpark3'
|
|
}
|
|
};
|
|
|
|
export const sqlKernelMetadata = {
|
|
'kernelspec': {
|
|
'name': 'SQL',
|
|
'display_name': 'SQL'
|
|
}
|
|
};
|
|
|
|
export const pythonKernelMetadata = {
|
|
'kernelspec': {
|
|
'name': 'python3',
|
|
'display_name': 'Python 3'
|
|
}
|
|
};
|
|
|
|
export function writeNotebookToFile(pythonNotebook: azdata.nb.INotebookContents, testName: string): vscode.Uri {
|
|
let fileName = getFileName(testName);
|
|
let notebookContentString = JSON.stringify(pythonNotebook);
|
|
fs.writeFileSync(fileName, notebookContentString);
|
|
console.log(`Local file is created: '${fileName}'`);
|
|
let uri = vscode.Uri.file(fileName);
|
|
return uri;
|
|
}
|
|
|
|
export function getFileName(testName: string): string {
|
|
if (testName) {
|
|
return path.join(os.tmpdir(), testName + '.ipynb');
|
|
}
|
|
return undefined;
|
|
}
|