gui/backend/gui_plugin/debugger/scripts/__lib/_init.js (325 lines of code) (raw):
//
// Bootstrap some of the functionality for the user stories. This
// script initializes some of the objects that are going to be used
// during the tests to access facilities.
//
var lib = ws.tokens.lib
lib.init_lib_item = Object({
"params": {
"component": lib,
"name": "init_lib_item"
}
})
var unit = ws.tokens.unit = Object({"name": "unit"})
var regression = ws.tokens.regression = Object({"name": "regression"})
var user_stories = ws.tokens.user_stories = Object({"name": "user_stories"})
var requests = ws.tokens.requests = Object({
"sql_editor": {},
"shell": {}
})
var responses = ws.tokens.responses = Object({
"ok": {},
"pending": {},
"error": {}
})
// Lib
// --------------------------------------------
// Generic
lib.init_lib_item.params.component = lib
lib.init_lib_item.params.name = "init_lib_item"
ws.execute("__lib/_init_lib_item.js")
// Set the component again, since the lib.init_lib_item was recreated
lib.init_lib_item.params.component = lib
lib.init_lib_item.params.name = "init_lib_component"
ws.execute(lib.init_lib_item.file)
// Set the component again, since the lib.init_lib_component was recreated
lib.init_lib_component.params["component"] = lib
lib.init_lib_item.params.name = "noop"
ws.execute(lib.init_lib_item.file)
lib.init_lib_item.params.name = "init_mysql"
ws.execute(lib.init_lib_item.file)
lib.init_lib_item.params.name = "init_mysql_x"
ws.execute(lib.init_lib_item.file)
lib.init_lib_item.params.name = "init_sqlite"
ws.execute(lib.init_lib_item.file)
// Lib::Login
lib.init_lib_component.params.name = "login"
ws.execute(lib.init_lib_component.file)
lib.init_lib_item.params.component = lib.login
lib.init_lib_item.params.name = "login"
ws.execute(lib.init_lib_item.file)
lib.init_lib_item.params.name = "logout"
ws.execute(lib.init_lib_item.file)
lib.init_lib_item.params.name = "admin"
ws.execute(lib.init_lib_item.file)
// Lib::Connection
lib.init_lib_component.params.name = "connection"
ws.execute(lib.init_lib_component.file)
lib.init_lib_item.params.component = lib.connection
// lib.init_lib_item.params.name = "add_mysql"
// ws.execute(lib.init_lib_item.file)
lib.init_lib_item.params.name = "add_mysql_root"
ws.execute(lib.init_lib_item.file)
lib.init_lib_item.params.name = "add_mysql_user1"
ws.execute(lib.init_lib_item.file)
lib.init_lib_item.params.name = "add_mysql_user2"
ws.execute(lib.init_lib_item.file)
lib.init_lib_item.params.name = "add_mysqlx"
ws.execute(lib.init_lib_item.file)
lib.init_lib_item.params.name = "add_sqlite"
ws.execute(lib.init_lib_item.file)
lib.init_lib_item.params.name = "add"
ws.execute(lib.init_lib_item.file)
lib.init_lib_item.params.name = "remove"
ws.execute(lib.init_lib_item.file)
// Lib::SqlEditor
lib.init_lib_component.params.name = "sql_editor"
ws.execute(lib.init_lib_component.file)
lib.init_lib_item.params.component = lib.sql_editor
lib.init_lib_item.params.name = "open_session"
ws.execute(lib.init_lib_item.file)
lib.init_lib_item.params.name = "close_session"
ws.execute(lib.init_lib_item.file)
lib.init_lib_item.params.name = "create_test_sessions"
ws.execute(lib.init_lib_item.file)
lib.init_lib_item.params.name = "open_connection"
ws.execute(lib.init_lib_item.file)
lib.init_lib_item.params.name = "open_connection_validate_mysql"
ws.execute(lib.init_lib_item.file)
lib.init_lib_item.params.name = "open_connection_validate_mysqlx"
ws.execute(lib.init_lib_item.file)
lib.init_lib_item.params.name = "open_connection_validate_sqlite"
ws.execute(lib.init_lib_item.file)
lib.init_lib_item.params.name = "for_each_connection"
ws.execute("__lib/_init_lib_item.js")
lib.init_lib_item.params.name = "with_new_connection"
ws.execute("__lib/_init_lib_item.js")
lib.init_lib_item.params.name = "with_mysql_connections"
ws.execute("__lib/_init_lib_item.js")
// Lib::Shell
lib.init_lib_component.params.name = "shell"
ws.execute(lib.init_lib_component.file)
lib.init_lib_item.params.component = lib.shell
lib.init_lib_item.params.name = "open_session"
ws.execute(lib.init_lib_item.file)
lib.init_lib_item.params.name = "close_session"
ws.execute(lib.init_lib_item.file)
lib.init_lib_item.params.name = "connect_database_default"
ws.execute(lib.init_lib_item.file)
// Lib::DBSession
lib.init_lib_component.params.name = "dbsession"
ws.execute(lib.init_lib_component.file)
lib.init_lib_item.params.component = lib.dbsession
lib.init_lib_item.params.name = "open_db_session"
ws.execute(lib.init_lib_item.file)
lib.init_lib_item.params.name = "close_db_session"
ws.execute(lib.init_lib_item.file)
lib.init_lib_item.params.name = "open_connection_validate_mysql"
ws.execute(lib.init_lib_item.file)
lib.init_lib_item.params.name = "open_connection_validate_sqlite"
ws.execute(lib.init_lib_item.file)
lib.init_lib_item.params.name = "init_db"
ws.execute(lib.init_lib_item.file)
// Unit
// --------------------------------------------
lib.init_lib_component.params["component"] = unit
// Unit::Module
lib.init_lib_component.params.name = "module"
ws.execute(lib.init_lib_component.file)
lib.init_lib_item.params.component = unit.module
lib.init_lib_item.params.name = "data_category_management"
ws.execute(lib.init_lib_item.file)
// Unit::SqlEditor
lib.init_lib_component.params.name = "sql_editor"
ws.execute(lib.init_lib_component.file)
lib.init_lib_item.params.component = unit.sql_editor
lib.init_lib_item.params.name = "auto_commit_mysql"
ws.execute(lib.init_lib_item.file)
lib.init_lib_item.params.name = "auto_commit_sqlite"
ws.execute(lib.init_lib_item.file)
lib.init_lib_item.params.name = "multiple_resultsets"
ws.execute(lib.init_lib_item.file)
// Unit::Shell
lib.init_lib_component.params.name = "shell"
ws.execute(lib.init_lib_component.file)
lib.init_lib_item.params.component = unit.shell
lib.init_lib_item.params.name = "fail_command_blacklist"
ws.execute(lib.init_lib_item.file)
lib.init_lib_item.params.name = "fail_incomplete_input"
ws.execute(lib.init_lib_item.file)
// regression
// --------------------------------------------
lib.init_lib_component.params["component"] = regression
// Regression::SqlEditor
lib.init_lib_component.params.name = "sql_editor"
ws.execute(lib.init_lib_component.file)
lib.init_lib_item.params.component = regression.sql_editor
lib.init_lib_item.params.name = "columns_ordered_by_ordinal_position"
ws.execute(lib.init_lib_item.file)
// Regression::Shell
lib.init_lib_component.params.name = "shell"
ws.execute(lib.init_lib_component.file)
lib.init_lib_item.params.component = regression.shell
lib.init_lib_item.params.name = "some_errors"
ws.execute(lib.init_lib_item.file)
// User Stories
// --------------------------------------------
lib.init_lib_component.params["component"] = user_stories
// User Stories::SqlEditor
lib.init_lib_component.params.name = "sql_editor"
ws.execute(lib.init_lib_component.file)
lib.init_lib_item.params.component = user_stories.sql_editor
lib.init_lib_item.params.name = "execute_with_options"
ws.execute(lib.init_lib_item.file)
lib.init_lib_item.params.name = "cancel_request"
ws.execute(lib.init_lib_item.file)
lib.init_lib_item.params.name = "mysql_connection_classic"
ws.execute(lib.init_lib_item.file)
lib.init_lib_item.params.name = "mysql_connection_x_protocol"
ws.execute(lib.init_lib_item.file)
lib.init_lib_item.params.name = "mysql_connection_with_password_user1"
ws.execute(lib.init_lib_item.file)
lib.init_lib_item.params.name = "mysql_connection_with_password_user2"
ws.execute(lib.init_lib_item.file)
lib.init_lib_item.params.name = "mysql_connection_without_password_user2"
ws.execute(lib.init_lib_item.file)
lib.init_lib_item.params.name = "wrong_query_handling"
ws.execute(lib.init_lib_item.file)
lib.init_lib_item.params.name = "db_notebook_code_history"
ws.execute(lib.init_lib_item.file)
// User Stories::Metadata
lib.init_lib_component.params.name = "metadata"
ws.execute(lib.init_lib_component.file)
lib.init_lib_item.params.component = user_stories.metadata
lib.init_lib_item.params.name = "get_catalog_objects_mysql"
ws.execute(lib.init_lib_item.file)
lib.init_lib_item.params.name = "get_schema_objects_mysql"
ws.execute(lib.init_lib_item.file)
lib.init_lib_item.params.name = "get_table_objects_mysql"
ws.execute(lib.init_lib_item.file)
lib.init_lib_item.params.name = "get_catalog_objects_sqlite"
ws.execute(lib.init_lib_item.file)
lib.init_lib_item.params.name = "get_schema_objects_sqlite"
ws.execute(lib.init_lib_item.file)
lib.init_lib_item.params.name = "get_table_objects_sqlite"
ws.execute(lib.init_lib_item.file)
lib.init_lib_item.params.name = "get_user_variables"
ws.execute(lib.init_lib_item.file)
// User Stories::Shell
lib.init_lib_component.params.name = "shell"
ws.execute(lib.init_lib_component.file)
lib.init_lib_item.params.component = user_stories.shell
lib.init_lib_item.params.name = "command_not_supported_error"
ws.execute(lib.init_lib_item.file)
lib.init_lib_item.params.name = "get_collections"
ws.execute(lib.init_lib_item.file)
lib.init_lib_item.params.name = "javascript_command_success"
ws.execute(lib.init_lib_item.file)
lib.init_lib_item.params.name = "mysql_login_password"
ws.execute(lib.init_lib_item.file)
lib.init_lib_item.params.name = "mysql_login_password_cancel"
ws.execute(lib.init_lib_item.file)
lib.init_lib_item.params.name = "mysql_login_passwordless"
ws.execute(lib.init_lib_item.file)
lib.init_lib_item.params.name = "new_session"
ws.execute(lib.init_lib_item.file)
lib.init_lib_item.params.name = "new_session_with_connection"
ws.execute(lib.init_lib_item.file)
lib.init_lib_item.params.name = "new_session_with_connection_no_password"
ws.execute(lib.init_lib_item.file)
lib.init_lib_item.params.name = "new_session_with_connection_wrong_password"
ws.execute(lib.init_lib_item.file)
lib.init_lib_item.params.name = "new_session_with_connection_and_command"
ws.execute(lib.init_lib_item.file)
lib.init_lib_item.params.name = "prompt_for_info"
ws.execute(lib.init_lib_item.file)
lib.init_lib_item.params.name = "python_command_success"
ws.execute(lib.init_lib_item.file)
lib.init_lib_item.params.name = "prompt_for_info_cancel"
ws.execute(lib.init_lib_item.file)
lib.init_lib_item.params.name = "sql_command_success"
ws.execute(lib.init_lib_item.file)
lib.init_lib_item.params.name = "sql_query"
ws.execute(lib.init_lib_item.file)
lib.init_lib_item.params.name = "autocomplete"
ws.execute(lib.init_lib_item.file)
// User Stories::Module
lib.init_lib_component.params.name = "module"
ws.execute(lib.init_lib_component.file)
lib.init_lib_item.params.component = user_stories.module
lib.init_lib_item.params.name = "module_data_create"
ws.execute(lib.init_lib_item.file)
lib.init_lib_item.params.name = "module_data_fail_share_delete"
ws.execute(lib.init_lib_item.file)
lib.init_lib_item.params.name = "module_data_delete"
ws.execute(lib.init_lib_item.file)
// Stock Requests
// --------------------------------------------
requests.sql_editor.execute = Object({
"request": "execute",
"request_id": ws.generateRequestId(true),
"command": "gui.sql_editor.execute",
"args": {
"sql": "",
"module_session_id": ws.lastModuleSessionId,
"params": []
}
})
Object.freeze(requests.sql_editor.execute)
requests.shell.execute = Object({
"request": "execute",
"request_id": ws.generateRequestId(true),
"command": "gui.shell.execute",
"args": {
"command": "",
"module_session_id": ws.lastModuleSessionId,
}
})
Object.freeze(requests.shell.execute)
// Stock Responses
// --------------------------------------------
responses.pending.executionStarted = Object({
"request_id": ws.lastGeneratedRequestId,
"request_state": {
"type": "PENDING",
"msg": "Execution started..."
}
})
Object.freeze(responses.pending.executionStarted)
responses.pending.executing = Object({
"request_state": {
"type": "PENDING",
"msg": "Executing..."
},
"request_id": ws.lastGeneratedRequestId,
"result": {},
})
Object.freeze(responses.pending.executing)
responses.pending.canceled = Object({
"request_state": {
"type": "PENDING",
"msg": "Executing..."
},
"request_id": ws.lastGeneratedRequestId,
"result": {
"error": "Cancelled\n"
}
})
Object.freeze(responses.pending.canceled)
responses.ok.default = Object({
"request_state": {
"type": "OK",
"msg": ws.ignore
},
"request_id": ws.lastGeneratedRequestId
})
Object.freeze(responses.ok.default)
responses.ok.sqlZeroRows = Object({
"request_state": {
"type": "OK",
"msg": ""
},
"request_id": ws.lastGeneratedRequestId,
"result": {
"rows": ws.ignore,
"total_row_count": 0,
"execution_time": ws.ignore
}
})
Object.freeze(responses.ok.sqlZeroRows)
responses.ok.oneRowTransferred = Object({
"request_state": {
"type": "OK",
"msg": ""
},
"request_id": ws.lastGeneratedRequestId,
"result": {
"rows": ws.ignore,
"total_row_count": 1,
"execution_time": ws.ignore
}
})
Object.freeze(responses.ok.oneRowTransferred)
responses.error.default = Object({
"request_state": {
"type": "ERROR",
"source": "MSG",
"code": ws.ignore,
"msg": ws.ignore
},
"request_id": ws.lastGeneratedRequestId,
})
responses.error.commandNotSupported = Object({
"request_state": {
"type": "ERROR",
"msg": "The requested command is not supported.",
"source":
"MSG", "code": 1500
},
"request_id": ws.lastGeneratedRequestId,
})
Object.freeze(responses.error.commandNotSupported)