Repository files navigation

VersionTests

https://mockerize-io

mockerize-cli

Mockerize is an open-source, cross platform, lightweight, server mocking application designed from the ground up to make creating mock development servers quick and painless.

example running mockerize-cli

Potential use cases

  • Integration testing in your CI/CD pipeline
  • End-to-end test your client-side HTTP code
  • Mock API servers to speed up development

Building

Assuming that you've already cloned the repo and have Rust installed, you have everything you need to build binaries for your operating system:

cargo build --release

You may configure additional build options in Cargo.toml.

Cross-compiling

If you would like to compile for a different operating system than your own, you will first need to install the build target toolchain and cross, the cross-compiling tools for Rust. First use the rustup target list command to see if you already have the target toolchain installed. You may see available targets in the Rust docs.

Install cross if you don't already have it:

cargo install cross

Install the target toolchain:

rustup target add x86_64-unknown-linux-gnu

Cross-compile for target:

cargo build --target=x86_64-unknown-linux-gnu

See also: Cross-compilation - the rustup book

Usage

Before using mockerize-cli, you should create a server config file. This can be done through the Mockerize GUI app, or by creating a JSON file following the Mockerize JSON standard structure. A server config defines the server's listen address & port, as well as any routes and their paired response(s).

You may generate an example server config to build off of with the new command:

mockerize-cli new my-config.json

You should then edit your config file using your editor of choice. When ready, load the config with the run command:

mockerize-cli run ./my-config.json

Then you should be able to hit your mock server:

curl http://127.0.0.1:8080/hello-world

Usage in automated testing

One potential use case for mockerize-cli is while automatically running integration tests; perhaps as part of your CI/CD pipeline.

# Start mockerize in background, load in our test server config.# Also get the process ID of the mockerize instance so we can kill it later.
./mockerize-cli run integration-test.json >/dev/null 2>&1&
pid=$!# Give it some time to fully start up before we begin our tests.# Please consider your exact use case here. A short rest is probably good enough,# though may not be the best choice for you. Perhaps add a health-check endpoint# to your config, then rely on something like `wait-for-it` to inform when the server# is fully operational and serving traffic
sleep 1
# Run tests, then exitecho"Running (pretend) integration tests"# ... cmd to run tests goes hereecho"Done testing. Killing mockerize-cli (PID $pid)"kill -9 $pid

While the above example is often enough for simple use, you may wish to expand upon it. Do you need to run different server configs per test? Perhaps you may integrate the startup and shutdown of Mockerize within your test runner.

About

Mockerize CLI tool

Resources

Stars

0 stars

Watchers

2 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Repository files navigation

VersionTests

https://mockerize-io

mockerize-cli

Mockerize is an open-source, cross platform, lightweight, server mocking application designed from the ground up to make creating mock development servers quick and painless.

example running mockerize-cli

Potential use cases

  • Integration testing in your CI/CD pipeline
  • End-to-end test your client-side HTTP code
  • Mock API servers to speed up development

Building

Assuming that you've already cloned the repo and have Rust installed, you have everything you need to build binaries for your operating system:

cargo build --release

You may configure additional build options in Cargo.toml.

Cross-compiling

If you would like to compile for a different operating system than your own, you will first need to install the build target toolchain and cross, the cross-compiling tools for Rust. First use the rustup target list command to see if you already have the target toolchain installed. You may see available targets in the Rust docs.

Install cross if you don't already have it:

cargo install cross

Install the target toolchain:

rustup target add x86_64-unknown-linux-gnu

Cross-compile for target:

cargo build --target=x86_64-unknown-linux-gnu

See also: Cross-compilation - the rustup book

Usage

Before using mockerize-cli, you should create a server config file. This can be done through the Mockerize GUI app, or by creating a JSON file following the Mockerize JSON standard structure. A server config defines the server's listen address & port, as well as any routes and their paired response(s).

You may generate an example server config to build off of with the new command:

mockerize-cli new my-config.json

You should then edit your config file using your editor of choice. When ready, load the config with the run command:

mockerize-cli run ./my-config.json

Then you should be able to hit your mock server:

curl http://127.0.0.1:8080/hello-world

Usage in automated testing

One potential use case for mockerize-cli is while automatically running integration tests; perhaps as part of your CI/CD pipeline.

# Start mockerize in background, load in our test server config.# Also get the process ID of the mockerize instance so we can kill it later.
./mockerize-cli run integration-test.json >/dev/null 2>&1&
pid=$!# Give it some time to fully start up before we begin our tests.# Please consider your exact use case here. A short rest is probably good enough,# though may not be the best choice for you. Perhaps add a health-check endpoint# to your config, then rely on something like `wait-for-it` to inform when the server# is fully operational and serving traffic
sleep 1
# Run tests, then exitecho"Running (pretend) integration tests"# ... cmd to run tests goes hereecho"Done testing. Killing mockerize-cli (PID $pid)"kill -9 $pid

While the above example is often enough for simple use, you may wish to expand upon it. Do you need to run different server configs per test? Perhaps you may integrate the startup and shutdown of Mockerize within your test runner.

About

Mockerize CLI tool

Resources

Stars

0 stars

Watchers

2 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

VersionTests

https://mockerize-io

mockerize-cli

Mockerize is an open-source, cross platform, lightweight, server mocking application designed from the ground up to make creating mock development servers quick and painless.

example running mockerize-cli

Potential use cases

  • Integration testing in your CI/CD pipeline
  • End-to-end test your client-side HTTP code
  • Mock API servers to speed up development

Building

Assuming that you've already cloned the repo and have Rust installed, you have everything you need to build binaries for your operating system:

cargo build --release

You may configure additional build options in Cargo.toml.

Cross-compiling

If you would like to compile for a different operating system than your own, you will first need to install the build target toolchain and cross, the cross-compiling tools for Rust. First use the rustup target list command to see if you already have the target toolchain installed. You may see available targets in the Rust docs.

Install cross if you don't already have it:

cargo install cross

Install the target toolchain:

rustup target add x86_64-unknown-linux-gnu

Cross-compile for target:

cargo build --target=x86_64-unknown-linux-gnu

See also: Cross-compilation - the rustup book

Usage

Before using mockerize-cli, you should create a server config file. This can be done through the Mockerize GUI app, or by creating a JSON file following the Mockerize JSON standard structure. A server config defines the server's listen address & port, as well as any routes and their paired response(s).

You may generate an example server config to build off of with the new command:

mockerize-cli new my-config.json

You should then edit your config file using your editor of choice. When ready, load the config with the run command:

mockerize-cli run ./my-config.json

Then you should be able to hit your mock server:

curl http://127.0.0.1:8080/hello-world

Usage in automated testing

One potential use case for mockerize-cli is while automatically running integration tests; perhaps as part of your CI/CD pipeline.

# Start mockerize in background, load in our test server config.# Also get the process ID of the mockerize instance so we can kill it later.
./mockerize-cli run integration-test.json >/dev/null 2>&1&
pid=$!# Give it some time to fully start up before we begin our tests.# Please consider your exact use case here. A short rest is probably good enough,# though may not be the best choice for you. Perhaps add a health-check endpoint# to your config, then rely on something like `wait-for-it` to inform when the server# is fully operational and serving traffic
sleep 1
# Run tests, then exitecho"Running (pretend) integration tests"# ... cmd to run tests goes hereecho"Done testing. Killing mockerize-cli (PID $pid)"kill -9 $pid

While the above example is often enough for simple use, you may wish to expand upon it. Do you need to run different server configs per test? Perhaps you may integrate the startup and shutdown of Mockerize within your test runner.

About

Mockerize CLI tool

Resources

Stars

0 stars

Watchers

2 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

VersionTests

https://mockerize-io

mockerize-cli

Mockerize is an open-source, cross platform, lightweight, server mocking application designed from the ground up to make creating mock development servers quick and painless.

example running mockerize-cli

Potential use cases

  • Integration testing in your CI/CD pipeline
  • End-to-end test your client-side HTTP code
  • Mock API servers to speed up development

Building

Assuming that you've already cloned the repo and have Rust installed, you have everything you need to build binaries for your operating system:

cargo build --release

You may configure additional build options in Cargo.toml.

Cross-compiling

If you would like to compile for a different operating system than your own, you will first need to install the build target toolchain and cross, the cross-compiling tools for Rust. First use the rustup target list command to see if you already have the target toolchain installed. You may see available targets in the Rust docs.

Install cross if you don't already have it:

cargo install cross

Install the target toolchain:

rustup target add x86_64-unknown-linux-gnu

Cross-compile for target:

cargo build --target=x86_64-unknown-linux-gnu

See also: Cross-compilation - the rustup book

Usage

Before using mockerize-cli, you should create a server config file. This can be done through the Mockerize GUI app, or by creating a JSON file following the Mockerize JSON standard structure. A server config defines the server's listen address & port, as well as any routes and their paired response(s).

You may generate an example server config to build off of with the new command:

mockerize-cli new my-config.json

You should then edit your config file using your editor of choice. When ready, load the config with the run command:

mockerize-cli run ./my-config.json

Then you should be able to hit your mock server:

curl http://127.0.0.1:8080/hello-world

Usage in automated testing

One potential use case for mockerize-cli is while automatically running integration tests; perhaps as part of your CI/CD pipeline.

# Start mockerize in background, load in our test server config.# Also get the process ID of the mockerize instance so we can kill it later.
./mockerize-cli run integration-test.json >/dev/null 2>&1&
pid=$!# Give it some time to fully start up before we begin our tests.# Please consider your exact use case here. A short rest is probably good enough,# though may not be the best choice for you. Perhaps add a health-check endpoint# to your config, then rely on something like `wait-for-it` to inform when the server# is fully operational and serving traffic
sleep 1
# Run tests, then exitecho"Running (pretend) integration tests"# ... cmd to run tests goes hereecho"Done testing. Killing mockerize-cli (PID $pid)"kill -9 $pid

While the above example is often enough for simple use, you may wish to expand upon it. Do you need to run different server configs per test? Perhaps you may integrate the startup and shutdown of Mockerize within your test runner.

About

Mockerize CLI tool

Resources

Stars

0 stars

Watchers

2 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Repository files navigation

VersionTests

https://mockerize-io

mockerize-cli

Mockerize is an open-source, cross platform, lightweight, server mocking application designed from the ground up to make creating mock development servers quick and painless.

example running mockerize-cli

Potential use cases

  • Integration testing in your CI/CD pipeline
  • End-to-end test your client-side HTTP code
  • Mock API servers to speed up development

Building

Assuming that you've already cloned the repo and have Rust installed, you have everything you need to build binaries for your operating system:

cargo build --release

You may configure additional build options in Cargo.toml.

Cross-compiling

If you would like to compile for a different operating system than your own, you will first need to install the build target toolchain and cross, the cross-compiling tools for Rust. First use the rustup target list command to see if you already have the target toolchain installed. You may see available targets in the Rust docs.

Install cross if you don't already have it:

cargo install cross

Install the target toolchain:

rustup target add x86_64-unknown-linux-gnu

Cross-compile for target:

cargo build --target=x86_64-unknown-linux-gnu

See also: Cross-compilation - the rustup book

Usage

Before using mockerize-cli, you should create a server config file. This can be done through the Mockerize GUI app, or by creating a JSON file following the Mockerize JSON standard structure. A server config defines the server's listen address & port, as well as any routes and their paired response(s).

You may generate an example server config to build off of with the new command:

mockerize-cli new my-config.json

You should then edit your config file using your editor of choice. When ready, load the config with the run command:

mockerize-cli run ./my-config.json

Then you should be able to hit your mock server:

curl http://127.0.0.1:8080/hello-world

Usage in automated testing

One potential use case for mockerize-cli is while automatically running integration tests; perhaps as part of your CI/CD pipeline.

# Start mockerize in background, load in our test server config.# Also get the process ID of the mockerize instance so we can kill it later.
./mockerize-cli run integration-test.json >/dev/null 2>&1&
pid=$!# Give it some time to fully start up before we begin our tests.# Please consider your exact use case here. A short rest is probably good enough,# though may not be the best choice for you. Perhaps add a health-check endpoint# to your config, then rely on something like `wait-for-it` to inform when the server# is fully operational and serving traffic
sleep 1
# Run tests, then exitecho"Running (pretend) integration tests"# ... cmd to run tests goes hereecho"Done testing. Killing mockerize-cli (PID $pid)"kill -9 $pid

While the above example is often enough for simple use, you may wish to expand upon it. Do you need to run different server configs per test? Perhaps you may integrate the startup and shutdown of Mockerize within your test runner.

About

Mockerize CLI tool

Resources

Stars

0 stars

Watchers

2 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

VersionTests

https://mockerize-io

mockerize-cli

Mockerize is an open-source, cross platform, lightweight, server mocking application designed from the ground up to make creating mock development servers quick and painless.

example running mockerize-cli

Potential use cases

  • Integration testing in your CI/CD pipeline
  • End-to-end test your client-side HTTP code
  • Mock API servers to speed up development

Building

Assuming that you've already cloned the repo and have Rust installed, you have everything you need to build binaries for your operating system:

cargo build --release

You may configure additional build options in Cargo.toml.

Cross-compiling

If you would like to compile for a different operating system than your own, you will first need to install the build target toolchain and cross, the cross-compiling tools for Rust. First use the rustup target list command to see if you already have the target toolchain installed. You may see available targets in the Rust docs.

Install cross if you don't already have it:

cargo install cross

Install the target toolchain:

rustup target add x86_64-unknown-linux-gnu

Cross-compile for target:

cargo build --target=x86_64-unknown-linux-gnu

See also: Cross-compilation - the rustup book

Usage

Before using mockerize-cli, you should create a server config file. This can be done through the Mockerize GUI app, or by creating a JSON file following the Mockerize JSON standard structure. A server config defines the server's listen address & port, as well as any routes and their paired response(s).

You may generate an example server config to build off of with the new command:

mockerize-cli new my-config.json

You should then edit your config file using your editor of choice. When ready, load the config with the run command:

mockerize-cli run ./my-config.json

Then you should be able to hit your mock server:

curl http://127.0.0.1:8080/hello-world

Usage in automated testing

One potential use case for mockerize-cli is while automatically running integration tests; perhaps as part of your CI/CD pipeline.

# Start mockerize in background, load in our test server config.# Also get the process ID of the mockerize instance so we can kill it later.
./mockerize-cli run integration-test.json >/dev/null 2>&1&
pid=$!# Give it some time to fully start up before we begin our tests.# Please consider your exact use case here. A short rest is probably good enough,# though may not be the best choice for you. Perhaps add a health-check endpoint# to your config, then rely on something like `wait-for-it` to inform when the server# is fully operational and serving traffic
sleep 1
# Run tests, then exitecho"Running (pretend) integration tests"# ... cmd to run tests goes hereecho"Done testing. Killing mockerize-cli (PID $pid)"kill -9 $pid

While the above example is often enough for simple use, you may wish to expand upon it. Do you need to run different server configs per test? Perhaps you may integrate the startup and shutdown of Mockerize within your test runner.

About

Mockerize CLI tool

Resources

Stars

0 stars

Watchers

2 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

VersionTests

https://mockerize-io

mockerize-cli

Mockerize is an open-source, cross platform, lightweight, server mocking application designed from the ground up to make creating mock development servers quick and painless.

example running mockerize-cli

Potential use cases

  • Integration testing in your CI/CD pipeline
  • End-to-end test your client-side HTTP code
  • Mock API servers to speed up development

Building

Assuming that you've already cloned the repo and have Rust installed, you have everything you need to build binaries for your operating system:

cargo build --release

You may configure additional build options in Cargo.toml.

Cross-compiling

If you would like to compile for a different operating system than your own, you will first need to install the build target toolchain and cross, the cross-compiling tools for Rust. First use the rustup target list command to see if you already have the target toolchain installed. You may see available targets in the Rust docs.

Install cross if you don't already have it:

cargo install cross

Install the target toolchain:

rustup target add x86_64-unknown-linux-gnu

Cross-compile for target:

cargo build --target=x86_64-unknown-linux-gnu

See also: Cross-compilation - the rustup book

Usage

Before using mockerize-cli, you should create a server config file. This can be done through the Mockerize GUI app, or by creating a JSON file following the Mockerize JSON standard structure. A server config defines the server's listen address & port, as well as any routes and their paired response(s).

You may generate an example server config to build off of with the new command:

mockerize-cli new my-config.json

You should then edit your config file using your editor of choice. When ready, load the config with the run command:

mockerize-cli run ./my-config.json

Then you should be able to hit your mock server:

curl http://127.0.0.1:8080/hello-world

Usage in automated testing

One potential use case for mockerize-cli is while automatically running integration tests; perhaps as part of your CI/CD pipeline.

# Start mockerize in background, load in our test server config.# Also get the process ID of the mockerize instance so we can kill it later.
./mockerize-cli run integration-test.json >/dev/null 2>&1&
pid=$!# Give it some time to fully start up before we begin our tests.# Please consider your exact use case here. A short rest is probably good enough,# though may not be the best choice for you. Perhaps add a health-check endpoint# to your config, then rely on something like `wait-for-it` to inform when the server# is fully operational and serving traffic
sleep 1
# Run tests, then exitecho"Running (pretend) integration tests"# ... cmd to run tests goes hereecho"Done testing. Killing mockerize-cli (PID $pid)"kill -9 $pid

While the above example is often enough for simple use, you may wish to expand upon it. Do you need to run different server configs per test? Perhaps you may integrate the startup and shutdown of Mockerize within your test runner.

About

Mockerize CLI tool

Resources

Stars

0 stars

Watchers

2 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Repository files navigation

VersionTests

https://mockerize-io

mockerize-cli

Mockerize is an open-source, cross platform, lightweight, server mocking application designed from the ground up to make creating mock development servers quick and painless.

example running mockerize-cli

Potential use cases

  • Integration testing in your CI/CD pipeline
  • End-to-end test your client-side HTTP code
  • Mock API servers to speed up development

Building

Assuming that you've already cloned the repo and have Rust installed, you have everything you need to build binaries for your operating system:

cargo build --release

You may configure additional build options in Cargo.toml.

Cross-compiling

If you would like to compile for a different operating system than your own, you will first need to install the build target toolchain and cross, the cross-compiling tools for Rust. First use the rustup target list command to see if you already have the target toolchain installed. You may see available targets in the Rust docs.

Install cross if you don't already have it:

cargo install cross

Install the target toolchain:

rustup target add x86_64-unknown-linux-gnu

Cross-compile for target:

cargo build --target=x86_64-unknown-linux-gnu

See also: Cross-compilation - the rustup book

Usage

Before using mockerize-cli, you should create a server config file. This can be done through the Mockerize GUI app, or by creating a JSON file following the Mockerize JSON standard structure. A server config defines the server's listen address & port, as well as any routes and their paired response(s).

You may generate an example server config to build off of with the new command:

mockerize-cli new my-config.json

You should then edit your config file using your editor of choice. When ready, load the config with the run command:

mockerize-cli run ./my-config.json

Then you should be able to hit your mock server:

curl http://127.0.0.1:8080/hello-world

Usage in automated testing

One potential use case for mockerize-cli is while automatically running integration tests; perhaps as part of your CI/CD pipeline.

# Start mockerize in background, load in our test server config.# Also get the process ID of the mockerize instance so we can kill it later.
./mockerize-cli run integration-test.json >/dev/null 2>&1&
pid=$!# Give it some time to fully start up before we begin our tests.# Please consider your exact use case here. A short rest is probably good enough,# though may not be the best choice for you. Perhaps add a health-check endpoint# to your config, then rely on something like `wait-for-it` to inform when the server# is fully operational and serving traffic
sleep 1
# Run tests, then exitecho"Running (pretend) integration tests"# ... cmd to run tests goes hereecho"Done testing. Killing mockerize-cli (PID $pid)"kill -9 $pid

While the above example is often enough for simple use, you may wish to expand upon it. Do you need to run different server configs per test? Perhaps you may integrate the startup and shutdown of Mockerize within your test runner.

About

Mockerize CLI tool

Resources

Stars

0 stars

Watchers

2 watching

Forks

Releases

Packages

Used by

Contributors

Languages