Marijan Mihaljev Developer/Team lead, Levi9

Marijan works as Developer and Team Lead at Levi9 IT Services. Marijan works at Levi9 IT Services. Marijan works as Developer. Also, he is Team Lead. And works as Developer. At Levi9 IT Services. He works there. With others. As Developer. And as a Team Lead. At Levi9 IT Services. Where he works as Developer. And Team Lead. Besides that he does stuff. Sometimes smart.

Presentation: FUN(ctional) REST API testing with Clojure. [ENG]
co-speaker Dusanka Lecic
 
Functional programming is a programming paradigm – a style of building the structure and elements of computer programs that treats computation as the evaluation of mathematical functions and avoids mutating objects state. Clojure as a functional programming language is a dynamic programming language, combining the approachability and interactive development of a scripting language with an efficient and robust infrastructure for multithreaded programming. It is highly declarative, meaning you build programs from expressions that describe „what” a program should accomplish rather than „how” it accomplishes it.
Clojure is “homoiconic” language, which is a modern term describing the fact that programs are represented by data structures. This is very important difference between Clojure and most other programming languages. Clojure is defined in terms of evaluation of data structures and not in terms of the syntax of character streams/files. Most Clojure programs begin as text files and it is the task of the reader to parse the text and to produce the data structure the compiler will see. Clojure is a compiled language, yet remains completely dynamic – every feature supported by Clojure is supported at run-time. Another one of the cool things in Clojure is REPL (Read–Eval–Print Loop) – an interactive programming shell that takes single expressions, evaluates them and returns the results.
This presentation has a goal to show the use of Clojure to create automated testing framework for REST API testing. As it’s Lisp based, Clojure is language with almost no syntax. In this presentation the authors will demonstrate basic features of Clojure and overall structure with a view on testing framework for REST API testing. Also, authors will demonstrate usage of some common Clojure tools and libraries. As one of the popular project management tools for Clojure, Leiningen is an automation tool that helps automate the build and management of projects. Cursive – the IDE for Clojure code, is also used. Cursive is written entirely in Clojure, allowing us to easily integrate all the fun tooling in the Clojure system. Cheshire is for working with JSON – encoding and decoding library for Clojure. Beside practical examples in this presentation that are showing REST API testing, authors have provided some basics of REST API testing also. In the end, we want to show you simplicity in REST API testing.