REST and Messaging solutions do not come with an in-built contract compliance mechanism, which in many ways is a great thing. However, while working with microservice-based systems, it often appears that a practical mechanism that would help in designing and verifying REST and Messaging APIs would come in handy. Similarly, creating integration and acceptance tests in such systems presents many challenges.
At Devskiller we use Spring Cloud Contract in order to easily develop, test and document the APIs. During this talk I will show how we leverage this tool to design the contracts, quickly generate automatically-tested stubs from simple Groovy DSL scripts and, subsequently, generate the documentation, and how using Spring Cloud Contract allows us to build reliable microservice-based solutions, at the same time reducing the amount of E2E tests we run and the time necessary to deploy our apps to a minimum.
Testing RESTful Webservices using the REST-assured frameworkMicha Kops
The REST-assured framework and its features explained by example.
For detailed information please take a look at my full tutorial including the sources at http://www.hascode.com/2011/10/testing-restful-web-services-made-easy-using-the-rest-assured-framework/
This document provides an overview of the Guice and Gin dependency injection frameworks. It discusses key features and differences between the two, including how Guice supports both server-side and client-side Java applications while Gin is tailored specifically for GWT client-side apps. Examples are given of basic usage and configuration for common tasks like singleton scopes and dependency injection.
This document provides an overview of the Guice and Gin dependency injection frameworks. It discusses key features of Guice like annotation-based configuration, scopes, and type-safe injection. It compares Guice to Spring, noting Guice's simpler configuration. It also covers using Guice and Gin in web applications and GWT clients. Additional topics include the Warp utilities, configuration options like @Named, and limitations of Gin for GWT apps.
Having trouble wrapping you mind around unit testing in legacy code? Practice this kata and you'll have a good understanding of some basics. Break dependencies, inject stubs, write meaningful tests. Refactor with confidence. Version 2 is a complete overhaul to make the kata more readable and usable.
A code kata in C# to help practice techniques for safely removing dependencies form legacy code and creating unit tests. Questions? Suggestions? Contact @dubmun.
This is a step by step slides to study servlet, all the concepts which are required for a servlet are present in this ppt. The whole Servlet is divided into SESSIONS.
End to end todo list app with NestJs - Angular - Redux & Redux SagaBabacar NIANG
The document discusses building a todo list application using NestJS for the backend API, Angular for the frontend, and Redux/Redux Saga for state management. It provides an overview of setting up the NestJS API including creating modules, services, and connecting to MongoDB. It then covers generating the initial Angular application and importing Redux libraries. Finally, it details how to manage application state with Redux including creating actions, reducers, effects, and selectors and integrating them with the Angular application and NestJS services.
Slides from the NestJS MasterClass.
We learned how to build JavaScript server-side applications with NestJS - A progressive NodeJS framework built with TypeScript.
You can find the code on GitHub:
https://github.com/nirkaufman/task-manager
Testing RESTful Webservices using the REST-assured frameworkMicha Kops
The REST-assured framework and its features explained by example.
For detailed information please take a look at my full tutorial including the sources at http://www.hascode.com/2011/10/testing-restful-web-services-made-easy-using-the-rest-assured-framework/
This document provides an overview of the Guice and Gin dependency injection frameworks. It discusses key features and differences between the two, including how Guice supports both server-side and client-side Java applications while Gin is tailored specifically for GWT client-side apps. Examples are given of basic usage and configuration for common tasks like singleton scopes and dependency injection.
This document provides an overview of the Guice and Gin dependency injection frameworks. It discusses key features of Guice like annotation-based configuration, scopes, and type-safe injection. It compares Guice to Spring, noting Guice's simpler configuration. It also covers using Guice and Gin in web applications and GWT clients. Additional topics include the Warp utilities, configuration options like @Named, and limitations of Gin for GWT apps.
Having trouble wrapping you mind around unit testing in legacy code? Practice this kata and you'll have a good understanding of some basics. Break dependencies, inject stubs, write meaningful tests. Refactor with confidence. Version 2 is a complete overhaul to make the kata more readable and usable.
A code kata in C# to help practice techniques for safely removing dependencies form legacy code and creating unit tests. Questions? Suggestions? Contact @dubmun.
This is a step by step slides to study servlet, all the concepts which are required for a servlet are present in this ppt. The whole Servlet is divided into SESSIONS.
End to end todo list app with NestJs - Angular - Redux & Redux SagaBabacar NIANG
The document discusses building a todo list application using NestJS for the backend API, Angular for the frontend, and Redux/Redux Saga for state management. It provides an overview of setting up the NestJS API including creating modules, services, and connecting to MongoDB. It then covers generating the initial Angular application and importing Redux libraries. Finally, it details how to manage application state with Redux including creating actions, reducers, effects, and selectors and integrating them with the Angular application and NestJS services.
Slides from the NestJS MasterClass.
We learned how to build JavaScript server-side applications with NestJS - A progressive NodeJS framework built with TypeScript.
You can find the code on GitHub:
https://github.com/nirkaufman/task-manager
This document provides steps to create a simple SOA application using BPEL that processes student subject details and returns a grade. It involves:
1) Creating an exposed service and XSD to receive student details and return grade.
2) Creating an external reference to call operations to calculate total, average and grade.
3) Developing a BPEL process with receive, invoke, assign, and reply activities to integrate the exposed service and external reference.
4) Mapping data between variables using assign activities.
A presentation of what are JavaScript Promises, what problems they solve and how to use them. Dissects some Bluebird features, the most complete Promise library available for NodeJS and browser.
The document discusses testing with Spock, a Groovy-based testing framework. It provides examples of different Spock features like BDD-style tests using Given-When-Then, data-driven testing with the @Unroll annotation, mocking, and sharing test state between specifications using the @Shared annotation or setupSpec method. It also covers Spock's integration with JUnit and how to write Spock tests that are compatible with both JUnit 4 and JUnit 5.
TDC2016POA | Trilha JavaScript - JavaScript Promises na Práticatdc-globalcode
This document discusses JavaScript promises and asynchronous programming. It begins with an introduction to promises, explaining that they represent the eventual result of an asynchronous operation. It then covers promise states, the promise API including .then() and .catch(), and how promises can be used to flatten nested callbacks. The document also discusses Promise implementations, the Promises/A+ specification, native ECMAScript promises, and libraries like Bluebird that expand promise capabilities. It concludes by mentioning the HTML Fetch API as a promise-based way to make HTTP requests.
This document describes an integration test framework for demand-side platforms (DSPs) and supply-side platforms (SSPs). It includes classes for:
1. Creating test requests with different parameters like IP address or mobile carrier.
2. Sending requests to SSPs/DSPs and capturing responses using a shared context object.
3. Testing responses by validating expected properties like no bid responses.
It also shows how to initialize a shared browser instance and ensure it is closed on JVM shutdown to clean up resources.
This document discusses several Java enterprise topics:
1. It describes issues that may occur when upgrading Hibernate from version 4 to 5, such as compilation errors or failures to initialize sessions.
2. It explains changes made to Hibernate's default optimization policy for sequence number generation, including the addition of an allocation size parameter and new pooled optimizer strategy.
3. When using a load balancer like F5 with CXF web services, logs may fill with errors for services with many operations if the F5 is unable to handle large WSDL files, rather than an issue with CXF.
This document discusses using web services in Android development. It covers making HTTP requests to web services, parsing the response, and creating your own basic web service using PHP. Key points include constructing the URL, executing asynchronous HTTP requests, checking response codes, and parsing XML or JSON responses. The document provides code samples for making a request and handling the response. It also discusses possible issues like blocking the UI thread during the request and suggests using threads to avoid this. Finally, it proposes an exercise to build an accessible application using a web service and GPS.
Play framework training by Neelkanth Sachdeva @ Scala traits event , New Delh...Knoldus Inc.
This document provides an introduction and overview of the Play web application framework. It discusses key components of Play like Actions, Controllers, Results, routing, templates, and forms. It also covers how to develop a basic application using Play including setting up a new project, defining routes and controllers, rendering templates, and submitting forms. Finally, it demonstrates persisting application data in a database.
This document discusses microservice testing strategies and tools. It recommends that developers write unit and integration tests using BDD. QA then performs system integration testing of full flows across environments using different test profiles. Contract testing is used to define producer-consumer contracts and generate tests. Manual testing covers edge cases as the first, middle, and last services in a flow. Various tools are used for local testing, message inspection, performance measurement, and monitoring in production. The overall approach is to automate routine testing, create testing standards, and focus on regression, performance, security and end-to-end testing.
Having a reliable test suite is incredibly useful when making changes to an existing codebase, both big and small. Mutation testing frameworks run tests against slightly-changed source code in order to detect whether the tests are actually checking the different paths of logic through the application. The aim is to improve the robustness of your test suite, and give you confidence that you aren't introducing any unintended changes.
This presentation gives an overview of mutation testing, along with worked examples in JavaScript of how it catches gaps and improves test coverage.
The document discusses code smells and improving testability. It notes that unit tests can be complex when objects are tightly coupled or doing too much. A code example of updating a status is shown to have many dependencies, like page events and network I/O, that make it difficult to test. The document suggests refactoring the code to use a model to separate these concerns and improve testability.
Even for JavaScript software developers well-versed in Agile practices, using test-driven development in Node.js and Express can be challenging. In this presentation, I identify solutions to some of the most significant challenges to using TDD with Express, including mocking data in MongoDB / Mongoose, using promises to control asynchronous testing in Mocha with Chai, and separating concerns to write robust and enduring test suites.
Postman is a tool for designing, sharing and testing APIs between a group of collaborators that range from the API developers down to the final clients, be them mobile apps or web apps.
This presentation focuses on using Postman's advanced free features, with a special focus on testing.
I have linked an example collection which I refer to several times during the presentation.
Section 1 - Fundamentals
Environments, variables, collections, and workspaces
Roles, VCS
Section 2 - Scripts & Testing
Pre request scripts and tests
Scopes
Pass data between requests
Section 3 - Integrated testing
Collection runners: read data from files, workflows
Monitors
CD/CI integration with Newman
Section 4 - More!
Documentation
Mock server
Integrations
What do you mean, Backwards Compatibility?Trisha Gee
Lessons learnt developing the new Java driver for MongoDB. This is a totally different version of my backwards compatibility talk, delivered at JFokus.
Karate - Web-Service API Testing Made SimpleVodqaBLR
Karate is a DSL for writing web service API acceptance tests that is built on Cucumber and uses BDD syntax. It allows tests to be written in a concise and readable way while enabling faster test execution and better assertion capabilities. Karate tests can be easily integrated into existing CI/CD pipelines.
This document discusses Spock, a testing framework for Groovy and Java applications. It provides an overview of Spock's features for state based testing, data driven testing using where blocks and data tables, and interaction based testing using Spock's mocking framework. It also mentions extensions for listeners, interceptors, Spring integration, and new features in version 0.7 like grouping interactions and better mocking failure messages. Resources listed at the end include Spock's homepage, documentation, and a link to an article explaining the difference between mocks and stubs.
This document provides steps to create a simple SOA application using BPEL that processes student subject details and returns a grade. It involves:
1) Creating an exposed service and XSD to receive student details and return grade.
2) Creating an external reference to call operations to calculate total, average and grade.
3) Developing a BPEL process with receive, invoke, assign, and reply activities to integrate the exposed service and external reference.
4) Mapping data between variables using assign activities.
A presentation of what are JavaScript Promises, what problems they solve and how to use them. Dissects some Bluebird features, the most complete Promise library available for NodeJS and browser.
The document discusses testing with Spock, a Groovy-based testing framework. It provides examples of different Spock features like BDD-style tests using Given-When-Then, data-driven testing with the @Unroll annotation, mocking, and sharing test state between specifications using the @Shared annotation or setupSpec method. It also covers Spock's integration with JUnit and how to write Spock tests that are compatible with both JUnit 4 and JUnit 5.
TDC2016POA | Trilha JavaScript - JavaScript Promises na Práticatdc-globalcode
This document discusses JavaScript promises and asynchronous programming. It begins with an introduction to promises, explaining that they represent the eventual result of an asynchronous operation. It then covers promise states, the promise API including .then() and .catch(), and how promises can be used to flatten nested callbacks. The document also discusses Promise implementations, the Promises/A+ specification, native ECMAScript promises, and libraries like Bluebird that expand promise capabilities. It concludes by mentioning the HTML Fetch API as a promise-based way to make HTTP requests.
This document describes an integration test framework for demand-side platforms (DSPs) and supply-side platforms (SSPs). It includes classes for:
1. Creating test requests with different parameters like IP address or mobile carrier.
2. Sending requests to SSPs/DSPs and capturing responses using a shared context object.
3. Testing responses by validating expected properties like no bid responses.
It also shows how to initialize a shared browser instance and ensure it is closed on JVM shutdown to clean up resources.
This document discusses several Java enterprise topics:
1. It describes issues that may occur when upgrading Hibernate from version 4 to 5, such as compilation errors or failures to initialize sessions.
2. It explains changes made to Hibernate's default optimization policy for sequence number generation, including the addition of an allocation size parameter and new pooled optimizer strategy.
3. When using a load balancer like F5 with CXF web services, logs may fill with errors for services with many operations if the F5 is unable to handle large WSDL files, rather than an issue with CXF.
This document discusses using web services in Android development. It covers making HTTP requests to web services, parsing the response, and creating your own basic web service using PHP. Key points include constructing the URL, executing asynchronous HTTP requests, checking response codes, and parsing XML or JSON responses. The document provides code samples for making a request and handling the response. It also discusses possible issues like blocking the UI thread during the request and suggests using threads to avoid this. Finally, it proposes an exercise to build an accessible application using a web service and GPS.
Play framework training by Neelkanth Sachdeva @ Scala traits event , New Delh...Knoldus Inc.
This document provides an introduction and overview of the Play web application framework. It discusses key components of Play like Actions, Controllers, Results, routing, templates, and forms. It also covers how to develop a basic application using Play including setting up a new project, defining routes and controllers, rendering templates, and submitting forms. Finally, it demonstrates persisting application data in a database.
This document discusses microservice testing strategies and tools. It recommends that developers write unit and integration tests using BDD. QA then performs system integration testing of full flows across environments using different test profiles. Contract testing is used to define producer-consumer contracts and generate tests. Manual testing covers edge cases as the first, middle, and last services in a flow. Various tools are used for local testing, message inspection, performance measurement, and monitoring in production. The overall approach is to automate routine testing, create testing standards, and focus on regression, performance, security and end-to-end testing.
Having a reliable test suite is incredibly useful when making changes to an existing codebase, both big and small. Mutation testing frameworks run tests against slightly-changed source code in order to detect whether the tests are actually checking the different paths of logic through the application. The aim is to improve the robustness of your test suite, and give you confidence that you aren't introducing any unintended changes.
This presentation gives an overview of mutation testing, along with worked examples in JavaScript of how it catches gaps and improves test coverage.
The document discusses code smells and improving testability. It notes that unit tests can be complex when objects are tightly coupled or doing too much. A code example of updating a status is shown to have many dependencies, like page events and network I/O, that make it difficult to test. The document suggests refactoring the code to use a model to separate these concerns and improve testability.
Even for JavaScript software developers well-versed in Agile practices, using test-driven development in Node.js and Express can be challenging. In this presentation, I identify solutions to some of the most significant challenges to using TDD with Express, including mocking data in MongoDB / Mongoose, using promises to control asynchronous testing in Mocha with Chai, and separating concerns to write robust and enduring test suites.
Postman is a tool for designing, sharing and testing APIs between a group of collaborators that range from the API developers down to the final clients, be them mobile apps or web apps.
This presentation focuses on using Postman's advanced free features, with a special focus on testing.
I have linked an example collection which I refer to several times during the presentation.
Section 1 - Fundamentals
Environments, variables, collections, and workspaces
Roles, VCS
Section 2 - Scripts & Testing
Pre request scripts and tests
Scopes
Pass data between requests
Section 3 - Integrated testing
Collection runners: read data from files, workflows
Monitors
CD/CI integration with Newman
Section 4 - More!
Documentation
Mock server
Integrations
What do you mean, Backwards Compatibility?Trisha Gee
Lessons learnt developing the new Java driver for MongoDB. This is a totally different version of my backwards compatibility talk, delivered at JFokus.
Karate - Web-Service API Testing Made SimpleVodqaBLR
Karate is a DSL for writing web service API acceptance tests that is built on Cucumber and uses BDD syntax. It allows tests to be written in a concise and readable way while enabling faster test execution and better assertion capabilities. Karate tests can be easily integrated into existing CI/CD pipelines.
This document discusses Spock, a testing framework for Groovy and Java applications. It provides an overview of Spock's features for state based testing, data driven testing using where blocks and data tables, and interaction based testing using Spock's mocking framework. It also mentions extensions for listeners, interceptors, Spring integration, and new features in version 0.7 like grouping interactions and better mocking failure messages. Resources listed at the end include Spock's homepage, documentation, and a link to an article explaining the difference between mocks and stubs.
Como NÃO testar o seu projeto de Software. DevDay 2014alexandre freire
Em primeiro lugar, teste seu projeto. Depois aprenda como NÃO testá-lo. Palestra cheia de exemplos de testes que hoje em dia não escrevemos mais, para nos lembrar dos testes que temos continuar automatizando. Dev Day 2014
Rest-assured is a 100% java-based, BDD style, test library that you can use for testing REST api's in java projects. These are the slides from the presentation and demo I give at the 2017 #JBCNConf Java conference in Barcelona.
Cool Jvm Tools to Help you Test - Aylesbury Testers VersionSchalk Cronjé
This document summarizes a presentation about cool JVM tools for testing. It introduces the presenter and discusses tools like Spock and Geb for writing readable tests in Groovy. It also covers Ratpack for HTTP testing, Betamax for recording external API responses, and Gradle for running and integrating tests. The presentation provides code examples and outlines how these tools can help write effective tests more efficiently.
Inside the design decisions of Bane, a test harness for sockets. This talk discusses the key design decisions of Bane, presents some code, and looks at some of Bane's automated tests.
The document provides guidelines for testing Rails applications. It recommends that any code change should be driven by a failed test. Tests should be close to the code being tested and focus on functionality rather than specific code. It discusses testing models, associations, named scopes, validations, controllers, views, helpers, emails, user interactions, Ajax requests, external sites, Rake tasks, file uploads, legacy applications, and more. The goal is to have tests that result in high-quality code through a test-first approach.
The document summarizes an advanced Perl training course covering new features in Perl 5.10 like defined-or operator, switch statement, smart matching and say(), as well as testing with modules like Test::MockObject, profiling with Devel::Cover, and benchmarking code with Benchmark.pm. The one-day course will quickly cover many Perl topics and point to additional online resources for further learning.
This document discusses unit testing PowerShell scripts. It provides examples of unit testing patterns for PowerShell, including abstracting untestable code, mocking cmdlets, isolating file system operations, and testing exceptions. It also discusses tools for PowerShell unit testing like Pester and PSUnit, and integrating tests into a continuous integration build with MSBuild and Psake.
Unit testing with RSpec is a tool for testing Ruby code using a behavior-driven development approach. RSpec allows writing unit tests to test models, controllers, helpers and other code. Writing unit tests brings advantages like confidence in deploying code, documenting how code works, and catching errors. RSpec provides features for testing including describing test contexts and expectations, factories for test data, mocking and stubbing, and spying on method calls.
Similar to Testing REST and Messaging Applications at Devskiller - a case study (20)
Most important New features of Oracle 23c for DBAs and Developers. You can get more idea from my youtube channel video from https://youtu.be/XvL5WtaC20A
UI5con 2024 - Bring Your Own Design SystemPeter Muessig
How do you combine the OpenUI5/SAPUI5 programming model with a design system that makes its controls available as Web Components? Since OpenUI5/SAPUI5 1.120, the framework supports the integration of any Web Components. This makes it possible, for example, to natively embed own Web Components of your design system which are created with Stencil. The integration embeds the Web Components in a way that they can be used naturally in XMLViews, like with standard UI5 controls, and can be bound with data binding. Learn how you can also make use of the Web Components base class in OpenUI5/SAPUI5 to also integrate your Web Components and get inspired by the solution to generate a custom UI5 library providing the Web Components control wrappers for the native ones.
Measures in SQL (SIGMOD 2024, Santiago, Chile)Julian Hyde
SQL has attained widespread adoption, but Business Intelligence tools still use their own higher level languages based upon a multidimensional paradigm. Composable calculations are what is missing from SQL, and we propose a new kind of column, called a measure, that attaches a calculation to a table. Like regular tables, tables with measures are composable and closed when used in queries.
SQL-with-measures has the power, conciseness and reusability of multidimensional languages but retains SQL semantics. Measure invocations can be expanded in place to simple, clear SQL.
To define the evaluation semantics for measures, we introduce context-sensitive expressions (a way to evaluate multidimensional expressions that is consistent with existing SQL semantics), a concept called evaluation context, and several operations for setting and modifying the evaluation context.
A talk at SIGMOD, June 9–15, 2024, Santiago, Chile
Authors: Julian Hyde (Google) and John Fremlin (Google)
https://doi.org/10.1145/3626246.3653374
What to do when you have a perfect model for your software but you are constrained by an imperfect business model?
This talk explores the challenges of bringing modelling rigour to the business and strategy levels, and talking to your non-technical counterparts in the process.
Artificia Intellicence and XPath Extension FunctionsOctavian Nadolu
The purpose of this presentation is to provide an overview of how you can use AI from XSLT, XQuery, Schematron, or XML Refactoring operations, the potential benefits of using AI, and some of the challenges we face.
Using Query Store in Azure PostgreSQL to Understand Query PerformanceGrant Fritchey
Microsoft has added an excellent new extension in PostgreSQL on their Azure Platform. This session, presented at Posette 2024, covers what Query Store is and the types of information you can get out of it.
UI5con 2024 - Boost Your Development Experience with UI5 Tooling ExtensionsPeter Muessig
The UI5 tooling is the development and build tooling of UI5. It is built in a modular and extensible way so that it can be easily extended by your needs. This session will showcase various tooling extensions which can boost your development experience by far so that you can really work offline, transpile your code in your project to use even newer versions of EcmaScript (than 2022 which is supported right now by the UI5 tooling), consume any npm package of your choice in your project, using different kind of proxies, and even stitching UI5 projects during development together to mimic your target environment.
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian CompaniesQuickdice ERP
Explore the seamless transition to e-invoicing with this comprehensive guide tailored for Saudi Arabian businesses. Navigate the process effortlessly with step-by-step instructions designed to streamline implementation and enhance efficiency.
Malibou Pitch Deck For Its €3M Seed Roundsjcobrien
French start-up Malibou raised a €3 million Seed Round to develop its payroll and human resources
management platform for VSEs and SMEs. The financing round was led by investors Breega, Y Combinator, and FCVC.
UI5con 2024 - Keynote: Latest News about UI5 and it’s EcosystemPeter Muessig
Learn about the latest innovations in and around OpenUI5/SAPUI5: UI5 Tooling, UI5 linter, UI5 Web Components, Web Components Integration, UI5 2.x, UI5 GenAI.
Recording:
https://www.youtube.com/live/MSdGLG2zLy8?si=INxBHTqkwHhxV5Ta&t=0
Liberarsi dai framework con i Web Component.pptxMassimo Artizzu
In Italian
Presentazione sulle feature e l'utilizzo dei Web Component nell sviluppo di pagine e applicazioni web. Racconto delle ragioni storiche dell'avvento dei Web Component. Evidenziazione dei vantaggi e delle sfide poste, indicazione delle best practices, con particolare accento sulla possibilità di usare web component per facilitare la migrazione delle proprie applicazioni verso nuovi stack tecnologici.
14 th Edition of International conference on computer visionShulagnaSarkar2
About the event
14th Edition of International conference on computer vision
Computer conferences organized by ScienceFather group. ScienceFather takes the privilege to invite speakers participants students delegates and exhibitors from across the globe to its International Conference on computer conferences to be held in the Various Beautiful cites of the world. computer conferences are a discussion of common Inventions-related issues and additionally trade information share proof thoughts and insight into advanced developments in the science inventions service system. New technology may create many materials and devices with a vast range of applications such as in Science medicine electronics biomaterials energy production and consumer products.
Nomination are Open!! Don't Miss it
Visit: computer.scifat.com
Award Nomination: https://x-i.me/ishnom
Conference Submission: https://x-i.me/anicon
For Enquiry: Computer@scifat.com
14 th Edition of International conference on computer vision
Testing REST and Messaging Applications at Devskiller - a case study
1. Testing REST &Testing REST &
Messaging applicationsMessaging applications
at Devskiller - a caseat Devskiller - a case
studystudy
@olga_maciaszek
Olga Maciaszek-Sharma
14.05.2018
32. Local FlowLocal Flow
Skip Test To Generate Stubs
Stub service layer implementation while working on the
API
Never skip tests in the pipelines
@olga_maciaszek
33. Contracts ScopeContracts Scope
Skip Contracts for non-Skip Contracts for non-
essential functionalityessential functionality
@olga_maciaszek