Skip to content

Commit

Permalink
init
Browse files Browse the repository at this point in the history
  • Loading branch information
agrison committed May 9, 2017
0 parents commit bac5732
Show file tree
Hide file tree
Showing 8 changed files with 756 additions and 0 deletions.
11 changes: 11 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
/target
/classes
/checkouts
pom.xml
pom.xml.asc
*.jar
*.class
/.lein-*
/.nrepl-port
.hgignore
.hg/
9 changes: 9 additions & 0 deletions .idea/libraries/Leiningen__clj_time_0_13_0.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

9 changes: 9 additions & 0 deletions .idea/libraries/Leiningen__joda_time_2_9_7.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

126 changes: 126 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,126 @@
# Real world sample app backend implementation tester

This program goal is to test that a backend implementation of a real world sample app works as expected,
by complying with the API spec.

## Usage

java -jar realworld-server-tester URL

exemple:

java -jar realworld-server-tester http://localhost:8080

## Demo

[![asciicast](https://asciinema.org/a/6whqohoubgyf4wfpsfqpv09vl.png)](https://asciinema.org/a/6whqohoubgyf4wfpsfqpv09vl)

## Building

You'll need Java and leiningen to build the app.

cd realworld-server-tester
lein uberjar
java -jar target/realworld-server-tester.jar URL

## TODO

- [X] Login
- [X] correct login
- [X] invalid email
- [X] missing email
- [X] invalid password
- [X] missing password
- [X] Register
- [X] correct register
- [X] invalid email
- [X] missing email
- [X] already taken email
- [X] invalid username
- [X] missing username
- [X] already taken username
- [X] invalid password
- [X] missing password
- [X] Get Current User
- [X] correct call
- [X] invalid token
- [X] Update User
- [X] correct call
- [X] invalid token
- [X] invalid email
- [X] already taken email
- [X] invalid username
- [X] already taken username
- [X] invalid password
- [X] Get Profile
- [X] correct call
- [X] unknown username
- [X] Follow User
- [X] correct call
- [X] invalid token
- [X] Unfollow User
- [X] correct call
- [X] invalid token
- [X] List Articles
- [X] no filters
- [X] filter by tag
- [X] filter by author
- [ ] filter by favorited
- [X] limit results
- [X] Feed Articles
- [X] correct call
- [X] correct call with limited results
- [X] invalid token
- [X] Get Article
- [X] correct call
- [X] unknown article
- [X] createdAt is iso8601
- [X] Create Article
- [X] correct call
- [X] invalid token
- [X] missing title
[X] blank title
- [X] already taken title (generates different slug)
[X] missing description
[X] blank description
- [X] missing body
[X] blank body
- [X] Update Article
- [X] correct call
- [X] invalid token
[X] blank title
- [X] already taken title (generates different slug)
[X] blank description
- [X] blank body
- [X] can't update article of another author
- [X] Delete Article
- [X] correct call
- [X] invalid token
- [X] unknown article
- [X] can't delete article of another author
- [X] Add Comments to an Article
- [X] correct call
- [X] invalid token
- [X] missing body
- [X] blank body
- [X] Get Comments from an Article
- [X] Delete Comment
- [X] correct call
- [X] invalid token
- [X] can't delete comment of another user
- [X] Favorite Article
- [X] correct call
- [X] invalid token
- [X] Unfavorite Article
- [X] correct call
- [X] invalid token
- [X] Get Tags


## License

MIT

## Author

Alexandre Grison
16 changes: 16 additions & 0 deletions project.clj
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
(defproject realworld-server-tester "0.1.0-SNAPSHOT"
:description "Tool for testing a realworld project backend implementation"
:url "http://example.com/FIXME"
:license {:name "Eclipse Public License"
:url "http://www.eclipse.org/legal/epl-v10.html"}
:dependencies [[org.clojure/clojure "1.8.0"]
[clj-http "3.5.0"]
[org.clojure/data.json "0.2.6"]
[slingshot "0.12.2"]
[clansi "1.0.0"]
[com.github.javafaker/javafaker "0.13"]
[clj-time "0.13.0"]]
:plugins [[lein-cljfmt "0.5.6"]
[lein-kibit "0.1.2"]]
:aot [realworld-server-tester.core]
:main realworld-server-tester.core)
Loading

0 comments on commit bac5732

Please sign in to comment.