Project Date
moviegram-test 09 Jan 2024, 15:56

Feature Report

Steps Scenarios Features
Feature Passed Failed Skipped Pending Undefined Total Passed Failed Total Duration Status
tests/features/reviews.feature 233 0 0 0 0 233 10 0 10 4.936 Passed
Feature tests/features/reviews.feature
sample karate test script for help, see: https://github.com/karatelabs/karate/wiki/IDE-Support
0.046
* url 'https://jsonplaceholder.typicode.com' 0.000
15:56:31.717 karate.env system property was: qa 
* def smoke = read('classpath:tests/CSVfiles/reviewsbyone/smoke.csv') 0.001
* def negative = read('classpath:tests/CSVfiles/reviewsbyone/negative.csv') 0.001
* def smoke2 = read('classpath:tests/CSVfiles/reviewsforhome/smoke.csv') 0.001
* def smoke3 = read('classpath:tests/CSVfiles/reviewsbymovie/smoke.csv') 0.002
* def negative3 = read('classpath:tests/CSVfiles/reviewsbymovie/negative.csv') 0.007
* def smoke4 = read('classpath:tests/CSVfiles/reviewsbyuser/smoke.csv') 0.017
* def negative4 = read('classpath:tests/CSVfiles/reviewsbyuser/negative.csv') 0.006
* def smoke5 = read('classpath:tests/CSVfiles/allusers/smoke.csv') 0.002
* def DbUtils = Java.type('util.DBUtils') 0.001
* def db = new DbUtils(dbconfig) 0.001
Tags: @smoke
1.083
* print 'test' 0.000
15:56:32.874 karate.env system property was: qa 
15:56:32.878 [print] test 
* def test = call read('classpath:tests/services/reviewsbyone.feature') 0.107
tests/services/reviewsbyone.feature 0.000
> * print 'Inside get review service' 0.001
15:56:32.886 [print] Inside get review service 
> Given url baseUrl + 'reviewsbyone?revid=' + revid 0.002
> When method get 0.096
15:56:32.891 request:
1 > GET http://localhost:8085/reviewsbyone?revid=20
1 > Host: localhost:8085
1 > Connection: Keep-Alive
1 > User-Agent: Apache-HttpClient/4.5.13 (Java/1.8.0_231)
1 > Accept-Encoding: gzip,deflate


15:56:32.984 response time in milliseconds: 92
1 < 200
1 < Vary: Origin
1 < Vary: Access-Control-Request-Method
1 < Vary: Access-Control-Request-Headers
1 < Content-Type: application/json
1 < Transfer-Encoding: chunked
1 < Date: Tue, 09 Jan 2024 22:56:32 GMT
1 < Keep-Alive: timeout=60
1 < Connection: keep-alive
{"revrating":10.0,"revid":20,"revdesc":"This is my absolute favorite MCU movie. Tom Holland does a great job with the role, and I feel like the MCU has a bad habit of making every conflict have the entire universe at stake. In this movie, it's more grounded which I find more relatable. The conflict matters but isn't the fabric of reality itself, the hero is fun and the villain is fantastic. Highly recommend even if you're not a big super hero person.","movieid":"tt2250912","userid":4}
* karate.log(test.response) 0.001
15:56:32.986 {
  "revrating": 10.0,
  "revid": 20,
  "revdesc": "This is my absolute favorite MCU movie. Tom Holland does a great job with the role, and I feel like the MCU has a bad habit of making every conflict have the entire universe at stake. In this movie, it's more grounded which I find more relatable. The conflict matters but isn't the fabric of reality itself, the hero is fun and the villain is fantastic. Highly recommend even if you're not a big super hero person.",
  "movieid": "tt2250912",
  "userid": 4
}
 
* def reviews = db.readRows('SELECT * FROM reviews') 0.868
* karate.log(reviews[0].revid) 0.002
15:56:33.857 20 
* def queriedrevid = revid 0.000
* assert test.responseStatus == respStatus 0.000
* assert test.response.revid == queriedrevid 0.000
0.024
* url 'https://jsonplaceholder.typicode.com' 0.000
15:56:31.782 karate.env system property was: qa 
* def smoke = read('classpath:tests/CSVfiles/reviewsbyone/smoke.csv') 0.003
* def negative = read('classpath:tests/CSVfiles/reviewsbyone/negative.csv') 0.002
* def smoke2 = read('classpath:tests/CSVfiles/reviewsforhome/smoke.csv') 0.001
* def smoke3 = read('classpath:tests/CSVfiles/reviewsbymovie/smoke.csv') 0.002
* def negative3 = read('classpath:tests/CSVfiles/reviewsbymovie/negative.csv') 0.001
* def smoke4 = read('classpath:tests/CSVfiles/reviewsbyuser/smoke.csv') 0.001
* def negative4 = read('classpath:tests/CSVfiles/reviewsbyuser/negative.csv') 0.001
* def smoke5 = read('classpath:tests/CSVfiles/allusers/smoke.csv') 0.004
* def DbUtils = Java.type('util.DBUtils') 0.003
* def db = new DbUtils(dbconfig) 0.001
Tags: @negative
0.135
* print 'test' 0.000
15:56:32.877 karate.env system property was: qa 
15:56:32.878 [print] test 
* def test = call read('classpath:tests/services/reviewsbyone.feature') 0.065
tests/services/reviewsbyone.feature 0.000
> * print 'Inside get review service' 0.002
15:56:32.888 [print] Inside get review service 
> Given url baseUrl + 'reviewsbyone?revid=' + revid 0.001
> When method get 0.052
15:56:32.892 request:
1 > GET http://localhost:8085/reviewsbyone?revid=999
1 > Host: localhost:8085
1 > Connection: Keep-Alive
1 > User-Agent: Apache-HttpClient/4.5.13 (Java/1.8.0_231)
1 > Accept-Encoding: gzip,deflate


15:56:32.942 response time in milliseconds: 50
1 < 200
1 < Vary: Origin
1 < Vary: Access-Control-Request-Method
1 < Vary: Access-Control-Request-Headers
1 < Content-Length: 0
1 < Date: Tue, 09 Jan 2024 22:56:32 GMT
1 < Keep-Alive: timeout=60
1 < Connection: keep-alive

* karate.log(test.response) 0.001
15:56:32.944  
* assert test.responseStatus == respStatus 0.000
* karate.log(test.response.error) 0.008
15:56:32.953 [FAILED toString()]
* karate.log(error) 0.001
15:56:32.954 #notpresent 
* match test.response.error == error 0.001
* match test.response.message == message 0.000
0.024
* url 'https://jsonplaceholder.typicode.com' 0.000
15:56:31.782 karate.env system property was: qa 
* def smoke = read('classpath:tests/CSVfiles/reviewsbyone/smoke.csv') 0.003
* def negative = read('classpath:tests/CSVfiles/reviewsbyone/negative.csv') 0.002
* def smoke2 = read('classpath:tests/CSVfiles/reviewsforhome/smoke.csv') 0.001
* def smoke3 = read('classpath:tests/CSVfiles/reviewsbymovie/smoke.csv') 0.002
* def negative3 = read('classpath:tests/CSVfiles/reviewsbymovie/negative.csv') 0.001
* def smoke4 = read('classpath:tests/CSVfiles/reviewsbyuser/smoke.csv') 0.001
* def negative4 = read('classpath:tests/CSVfiles/reviewsbyuser/negative.csv') 0.001
* def smoke5 = read('classpath:tests/CSVfiles/allusers/smoke.csv') 0.004
* def DbUtils = Java.type('util.DBUtils') 0.003
* def db = new DbUtils(dbconfig) 0.001
Tags: @negative
0.021
* print 'test' 0.000
15:56:32.962 karate.env system property was: qa 
15:56:32.964 [print] test 
* def test = call read('classpath:tests/services/reviewsbyone.feature') 0.010
tests/services/reviewsbyone.feature 0.000
> * print 'Inside get review service' 0.000
15:56:32.968 [print] Inside get review service 
> Given url baseUrl + 'reviewsbyone?revid=' + revid 0.000
> When method get 0.006
15:56:32.969 request:
1 > GET http://localhost:8085/reviewsbyone?revid=abc
1 > Host: localhost:8085
1 > Connection: Keep-Alive
1 > User-Agent: Apache-HttpClient/4.5.13 (Java/1.8.0_231)
1 > Accept-Encoding: gzip,deflate


15:56:32.974 response time in milliseconds: 5
1 < 400
1 < Vary: Origin
1 < Vary: Access-Control-Request-Method
1 < Vary: Access-Control-Request-Headers
1 < Content-Type: application/json
1 < Transfer-Encoding: chunked
1 < Date: Tue, 09 Jan 2024 22:56:32 GMT
1 < Connection: close
{"path":"\/reviewsbyone","error":"Bad Request","message":"Failed to convert value of type 'java.lang.String' to required type 'int'; nested exception is java.lang.NumberFormatException: For input string: \"abc\"","timestamp":"2024-01-09T22:56:32.973+0000","status":400}
* karate.log(test.response) 0.000
15:56:32.975 {
  "path": "/reviewsbyone",
  "error": "Bad Request",
  "message": "Failed to convert value of type 'java.lang.String' to required type 'int'; nested exception is java.lang.NumberFormatException: For input string: \"abc\"",
  "timestamp": "2024-01-09T22:56:32.973+0000",
  "status": 400
}
 
* assert test.responseStatus == respStatus 0.000
* karate.log(test.response.error) 0.000
15:56:32.977 Bad Request 
* karate.log(error) 0.000
15:56:32.977 Bad Request 
* match test.response.error == error 0.000
* match test.response.message == message 0.000
0.019
* url 'https://jsonplaceholder.typicode.com' 0.000
15:56:31.827 karate.env system property was: qa 
* def smoke = read('classpath:tests/CSVfiles/reviewsbyone/smoke.csv') 0.001
* def negative = read('classpath:tests/CSVfiles/reviewsbyone/negative.csv') 0.001
* def smoke2 = read('classpath:tests/CSVfiles/reviewsforhome/smoke.csv') 0.001
* def smoke3 = read('classpath:tests/CSVfiles/reviewsbymovie/smoke.csv') 0.004
* def negative3 = read('classpath:tests/CSVfiles/reviewsbymovie/negative.csv') 0.003
* def smoke4 = read('classpath:tests/CSVfiles/reviewsbyuser/smoke.csv') 0.001
* def negative4 = read('classpath:tests/CSVfiles/reviewsbyuser/negative.csv') 0.001
* def smoke5 = read('classpath:tests/CSVfiles/allusers/smoke.csv') 0.001
* def DbUtils = Java.type('util.DBUtils') 0.000
* def db = new DbUtils(dbconfig) 0.001
Tags: @smoke
1.117
* print 'test' 0.000
15:56:32.991 karate.env system property was: qa 
15:56:32.993 [print] test 
* karate.log(baseUrl) 0.001
15:56:32.994 http://localhost:8085/ 
* def test = call read('classpath:tests/services/reviewsforhome.feature') 0.258
tests/services/reviewsforhome.feature 0.000
> * print 'Inside get review service' 0.000
15:56:33.002 [print] Inside get review service 
> Given url baseUrl + 'getreviews' 0.000
> When method get 0.249
15:56:33.004 request:
1 > GET http://localhost:8085/getreviews
1 > Host: localhost:8085
1 > Connection: Keep-Alive
1 > User-Agent: Apache-HttpClient/4.5.13 (Java/1.8.0_231)
1 > Accept-Encoding: gzip,deflate


15:56:33.253 response time in milliseconds: 247
1 < 200
1 < Vary: Origin
1 < Vary: Access-Control-Request-Method
1 < Vary: Access-Control-Request-Headers
1 < Content-Type: application/json
1 < Transfer-Encoding: chunked
1 < Date: Tue, 09 Jan 2024 22:56:32 GMT
1 < Keep-Alive: timeout=60
1 < Connection: keep-alive
[{"revrating":10.0,"revid":20,"revdesc":"This is my absolute favorite MCU movie. Tom Holland does a great job with the role, and I feel like the MCU has a bad habit of making every conflict have the entire universe at stake. In this movie, it's more grounded which I find more relatable. The conflict matters but isn't the fabric of reality itself, the hero is fun and the villain is fantastic. Highly recommend even if you're not a big super hero person.","movieid":"tt2250912","userid":4},{"revrating":1.0,"revid":21,"revdesc":"This is really a prime example of super hero movies gone wrong. Super half baked CGI and some really weird plot turns. I wish I was exaggerating when I said that HULK fights mutant poodles in this movie but somehow it's come to this.","movieid":"tt0286716","userid":4},{"revrating":8.0,"revid":22,"revdesc":"This movie was so fun, the stunts and action scenes were absolutely on the pinnacle of what films can accomplish in this day and age. That said I thought the plot was pretty nonsense. The main conflict was difficult to grasp and straining the limits of believability. However I put this movie right next to Avatar 2 in my list of movies that are breathtaking to watch if you try to disregard the reasons that things are happening.","movieid":"tt9603212","userid":4},{"revrating":10.0,"revid":25,"revdesc":"One of the most brilliant movies ever made! Cast perfectly. A brilliant homage to horror movie history while embracing timeless humor. ","movieid":"tt0072431","userid":5},{"revrating":4.0,"revid":26,"revdesc":"This movie had a lot going for it. The actors did a great job and some of the dialogue was really captivating and made you think about how fragile civilization is and how dangerous human nature can be. However the pacing really held it back and a significant lack of believability in the scenarios they give you really made me struggle to enjoy it. It was also about an hour too long in my humble opinion.","movieid":"tt10545296","userid":4},{"revrating":10.0,"revid":28,"revdesc":"Perhaps the pinnacle of Michael Bay\u2019s achievements. Or at least the best Transformers movie by far. Don\u2019t think about it too much.","movieid":"tt0418279","userid":6},{"revrating":8.0,"revid":29,"revdesc":"Very good, absolutely jaw dropping CGI but littered with some odd plot points and low brow humor that holds it back a little in my opinion.","movieid":"tt0418279","userid":4},{"revrating":7.0,"revid":30,"revdesc":"I have mixed feelings about this one. They did a lot right and Colin Farrell as the Penguin was an absolutely beautiful thing. The tone was great and the music was absolutely phenomenal. That said there was a really long part at the end that felt a little bit tacked on. And a few things felt odd, like batman in full costume hanging out with a bunch of cops like a cringey comic con nerd. A great watch though despite the things holding it back.","movieid":"tt1877830","userid":4},{"revrating":7.0,"revid":31,"revdesc":"It's a bit overly melodramatic in places and takes all the silly elements a bit too seriously, but it deserves a great amount of praise for being the ultimate Friday the 13th movie. It absolutely respects every bit of Friday the 13th \"lore\" that came before and enhances it in every way. As much as people love the original 3 Friday the 13th movies, they are NOT good movies! This 4th entry is actually the first good entry in the franchise AND it respects it's... Let's say... Silly audience, but elevates it all without abandoning them. In my opinion, they deserve high praise for that! Also, let's talk about the absolute shining stars of this film! Corey Feldman plays Tommy wonderfully and the movie deserves an extra half star, at least, for Crispin Glover alone! What a glorious performance! \"Hey Ted! Where the hell's the corkscrew??\"","movieid":"tt0087298","userid":7},{"revrating":9.0,"revid":32,"revdesc":"This movie transcends its franchise completely, and is, for some strange reason, the first movie to truly allow itself to accept the absurdity of its world. I think this is the only entry to contain 0 nudity and it's still SIGNIFICANTLY more fun than the rest combined! This movie is an absolute banger front to back! It's almost a parody of its own franchise while also giving us the most brutal and menacing Jason and is the ONLY entry in the ENTIRE franchise that made me feel something!! I was genuinely concerned for the characters! I was actually upset (borderline angry) about some of the deaths and fearing others because they had real characters in this movie and those characters made choices that made me care! For the first time I actually didn't want Jason to kill!! He literally became a truly bad guy for the first time! Crazy that it took 6 entries for this crap! Awesome movie! If you want to watch 1 entry in this franchise, this is absolutely the 1!!","movieid":"tt0091080","userid":7}]
> Then status 200 0.000
* karate.log(test.response) 0.001
15:56:33.255 {
  "revrating": 10.0,
  "revid": 20,
  "revdesc": "This is my absolute favorite MCU movie. Tom Holland does a great job with the role, and I feel like the MCU has a bad habit of making every conflict have the entire universe at stake. In this movie, it's more grounded which I find more relatable. The conflict matters but isn't the fabric of reality itself, the hero is fun and the villain is fantastic. Highly recommend even if you're not a big super hero person.",
  "movieid": "tt2250912",
  "userid": 4
}
 {
  "revrating": 1.0,
  "revid": 21,
  "revdesc": "This is really a prime example of super hero movies gone wrong. Super half baked CGI and some really weird plot turns. I wish I was exaggerating when I said that HULK fights mutant poodles in this movie but somehow it's come to this.",
  "movieid": "tt0286716",
  "userid": 4
}
 {
  "revrating": 8.0,
  "revid": 22,
  "revdesc": "This movie was so fun, the stunts and action scenes were absolutely on the pinnacle of what films can accomplish in this day and age. That said I thought the plot was pretty nonsense. The main conflict was difficult to grasp and straining the limits of believability. However I put this movie right next to Avatar 2 in my list of movies that are breathtaking to watch if you try to disregard the reasons that things are happening.",
  "movieid": "tt9603212",
  "userid": 4
}
 {
  "revrating": 10.0,
  "revid": 25,
  "revdesc": "One of the most brilliant movies ever made! Cast perfectly. A brilliant homage to horror movie history while embracing timeless humor. ",
  "movieid": "tt0072431",
  "userid": 5
}
 {
  "revrating": 4.0,
  "revid": 26,
  "revdesc": "This movie had a lot going for it. The actors did a great job and some of the dialogue was really captivating and made you think about how fragile civilization is and how dangerous human nature can be. However the pacing really held it back and a significant lack of believability in the scenarios they give you really made me struggle to enjoy it. It was also about an hour too long in my humble opinion.",
  "movieid": "tt10545296",
  "userid": 4
}
 {
  "revrating": 10.0,
  "revid": 28,
  "revdesc": "Perhaps the pinnacle of Michael Bay\u2019s achievements. Or at least the best Transformers movie by far. Don\u2019t think about it too much.",
  "movieid": "tt0418279",
  "userid": 6
}
 {
  "revrating": 8.0,
  "revid": 29,
  "revdesc": "Very good, absolutely jaw dropping CGI but littered with some odd plot points and low brow humor that holds it back a little in my opinion.",
  "movieid": "tt0418279",
  "userid": 4
}
 {
  "revrating": 7.0,
  "revid": 30,
  "revdesc": "I have mixed feelings about this one. They did a lot right and Colin Farrell as the Penguin was an absolutely beautiful thing. The tone was great and the music was absolutely phenomenal. That said there was a really long part at the end that felt a little bit tacked on. And a few things felt odd, like batman in full costume hanging out with a bunch of cops like a cringey comic con nerd. A great watch though despite the things holding it back.",
  "movieid": "tt1877830",
  "userid": 4
}
 {
  "revrating": 7.0,
  "revid": 31,
  "revdesc": "It's a bit overly melodramatic in places and takes all the silly elements a bit too seriously, but it deserves a great amount of praise for being the ultimate Friday the 13th movie. It absolutely respects every bit of Friday the 13th \"lore\" that came before and enhances it in every way. As much as people love the original 3 Friday the 13th movies, they are NOT good movies! This 4th entry is actually the first good entry in the franchise AND it respects it's... Let's say... Silly audience, but elevates it all without abandoning them. In my opinion, they deserve high praise for that! Also, let's talk about the absolute shining stars of this film! Corey Feldman plays Tommy wonderfully and the movie deserves an extra half star, at least, for Crispin Glover alone! What a glorious performance! \"Hey Ted! Where the hell's the corkscrew??\"",
  "movieid": "tt0087298",
  "userid": 7
}
 {
  "revrating": 9.0,
  "revid": 32,
  "revdesc": "This movie transcends its franchise completely, and is, for some strange reason, the first movie to truly allow itself to accept the absurdity of its world. I think this is the only entry to contain 0 nudity and it's still SIGNIFICANTLY more fun than the rest combined! This movie is an absolute banger front to back! It's almost a parody of its own franchise while also giving us the most brutal and menacing Jason and is the ONLY entry in the ENTIRE franchise that made me feel something!! I was genuinely concerned for the characters! I was actually upset (borderline angry) about some of the deaths and fearing others because they had real characters in this movie and those characters made choices that made me care! For the first time I actually didn't want Jason to kill!! He literally became a truly bad guy for the first time! Crazy that it took 6 entries for this crap! Awesome movie! If you want to watch 1 entry in this franchise, this is absolutely the 1!!",
  "movieid": "tt0091080",
  "userid": 7
}
 
* def reviews = db.readRows('SELECT * FROM reviews WHERE revid = ' + test.response[0].revid) 0.599
* karate.log(reviews) 0.001
15:56:33.856 {
  "revid": 20,
  "userid": 4,
  "movieid": "tt2250912",
  "revrating": 10,
  "revdesc": "This is my absolute favorite MCU movie. Tom Holland does a great job with the role, and I feel like the MCU has a bad habit of making every conflict have the entire universe at stake. In this movie, it's more grounded which I find more relatable. The conflict matters but isn't the fabric of reality itself, the hero is fun and the villain is fantastic. Highly recommend even if you're not a big super hero person."
}
 
* karate.log(reviews[0].movieid) 0.000
15:56:33.857 tt2250912 
* karate.log(test.response[0].movieid) 0.001
15:56:33.858 tt2250912 
* assert reviews[0].movieid == test.response[0].movieid 0.000
* assert test.responseStatus == respStatus 0.000
0.015
* url 'https://jsonplaceholder.typicode.com' 0.000
15:56:31.862 karate.env system property was: qa 
* def smoke = read('classpath:tests/CSVfiles/reviewsbyone/smoke.csv') 0.001
* def negative = read('classpath:tests/CSVfiles/reviewsbyone/negative.csv') 0.001
* def smoke2 = read('classpath:tests/CSVfiles/reviewsforhome/smoke.csv') 0.001
* def smoke3 = read('classpath:tests/CSVfiles/reviewsbymovie/smoke.csv') 0.001
* def negative3 = read('classpath:tests/CSVfiles/reviewsbymovie/negative.csv') 0.003
* def smoke4 = read('classpath:tests/CSVfiles/reviewsbyuser/smoke.csv') 0.001
* def negative4 = read('classpath:tests/CSVfiles/reviewsbyuser/negative.csv') 0.001
* def smoke5 = read('classpath:tests/CSVfiles/allusers/smoke.csv') 0.001
* def DbUtils = Java.type('util.DBUtils') 0.000
* def db = new DbUtils(dbconfig) 0.000
Tags: @smoke
0.841
* print 'test' 0.000
15:56:33.070 karate.env system property was: qa 
15:56:33.071 [print] test 
* def test = call read('classpath:tests/services/reviewsbymovie.feature') 0.063
tests/services/reviewsbymovie.feature 0.000
> * print 'Inside get review service' 0.000
15:56:33.078 [print] Inside get review service 
> Given url baseUrl + 'reviewsbymovie?imdbid=' + imdbid 0.000
> When method get 0.055
15:56:33.080 request:
1 > GET http://localhost:8085/reviewsbymovie?imdbid=tt0418279
1 > Host: localhost:8085
1 > Connection: Keep-Alive
1 > User-Agent: Apache-HttpClient/4.5.13 (Java/1.8.0_231)
1 > Accept-Encoding: gzip,deflate


15:56:33.134 response time in milliseconds: 53
1 < 200
1 < Vary: Origin
1 < Vary: Access-Control-Request-Method
1 < Vary: Access-Control-Request-Headers
1 < Content-Type: application/json
1 < Transfer-Encoding: chunked
1 < Date: Tue, 09 Jan 2024 22:56:32 GMT
1 < Keep-Alive: timeout=60
1 < Connection: keep-alive
[{"revrating":10.0,"revid":28,"revdesc":"Perhaps the pinnacle of Michael Bay\u2019s achievements. Or at least the best Transformers movie by far. Don\u2019t think about it too much.","movieid":"tt0418279","userid":6},{"revrating":8.0,"revid":29,"revdesc":"Very good, absolutely jaw dropping CGI but littered with some odd plot points and low brow humor that holds it back a little in my opinion.","movieid":"tt0418279","userid":4}]
> Then status 200 0.000
* karate.log(test.response) 0.001
15:56:33.136 {
  "revrating": 10.0,
  "revid": 28,
  "revdesc": "Perhaps the pinnacle of Michael Bay\u2019s achievements. Or at least the best Transformers movie by far. Don\u2019t think about it too much.",
  "movieid": "tt0418279",
  "userid": 6
}
 {
  "revrating": 8.0,
  "revid": 29,
  "revdesc": "Very good, absolutely jaw dropping CGI but littered with some odd plot points and low brow humor that holds it back a little in my opinion.",
  "movieid": "tt0418279",
  "userid": 4
}
 
* def reviews = db.readRows('SELECT * FROM reviews WHERE movieid = "' + imdbid + '"') 0.718
* assert reviews[0].movieid == test.response[0].movieid 0.001
* assert test.responseStatus == respStatus 0.000
0.012
* url 'https://jsonplaceholder.typicode.com' 0.000
15:56:31.892 karate.env system property was: qa 
* def smoke = read('classpath:tests/CSVfiles/reviewsbyone/smoke.csv') 0.001
* def negative = read('classpath:tests/CSVfiles/reviewsbyone/negative.csv') 0.001
* def smoke2 = read('classpath:tests/CSVfiles/reviewsforhome/smoke.csv') 0.001
* def smoke3 = read('classpath:tests/CSVfiles/reviewsbymovie/smoke.csv') 0.001
* def negative3 = read('classpath:tests/CSVfiles/reviewsbymovie/negative.csv') 0.001
* def smoke4 = read('classpath:tests/CSVfiles/reviewsbyuser/smoke.csv') 0.001
* def negative4 = read('classpath:tests/CSVfiles/reviewsbyuser/negative.csv') 0.001
* def smoke5 = read('classpath:tests/CSVfiles/allusers/smoke.csv') 0.001
* def DbUtils = Java.type('util.DBUtils') 0.000
* def db = new DbUtils(dbconfig) 0.001
Tags: @negative
0.110
* print 'test' 0.000
15:56:33.168 karate.env system property was: qa 
15:56:33.169 [print] test 
* def test = call read('classpath:tests/services/reviewsbymovie.feature') 0.051
tests/services/reviewsbymovie.feature 0.000
> * print 'Inside get review service' 0.000
15:56:33.175 [print] Inside get review service 
> Given url baseUrl + 'reviewsbymovie?imdbid=' + imdbid 0.000
> When method get 0.045
15:56:33.177 request:
1 > GET http://localhost:8085/reviewsbymovie?imdbid=tt9999999
1 > Host: localhost:8085
1 > Connection: Keep-Alive
1 > User-Agent: Apache-HttpClient/4.5.13 (Java/1.8.0_231)
1 > Accept-Encoding: gzip,deflate


15:56:33.220 response time in milliseconds: 43
1 < 200
1 < Vary: Origin
1 < Vary: Access-Control-Request-Method
1 < Vary: Access-Control-Request-Headers
1 < Content-Type: application/json
1 < Transfer-Encoding: chunked
1 < Date: Tue, 09 Jan 2024 22:56:32 GMT
1 < Keep-Alive: timeout=60
1 < Connection: keep-alive
[]
> Then status 200 0.000
* karate.log(test.response) 0.001
15:56:33.222 
* assert test.responseStatus == respStatus 0.000
* karate.log(test.response.error) 0.007
15:56:33.231 [FAILED toString()]
* karate.log(error) 0.000
15:56:33.232 #notpresent 
* match test.response.error == error 0.000
* match test.response.message == message 0.000
0.012
* url 'https://jsonplaceholder.typicode.com' 0.000
15:56:31.892 karate.env system property was: qa 
* def smoke = read('classpath:tests/CSVfiles/reviewsbyone/smoke.csv') 0.001
* def negative = read('classpath:tests/CSVfiles/reviewsbyone/negative.csv') 0.001
* def smoke2 = read('classpath:tests/CSVfiles/reviewsforhome/smoke.csv') 0.001
* def smoke3 = read('classpath:tests/CSVfiles/reviewsbymovie/smoke.csv') 0.001
* def negative3 = read('classpath:tests/CSVfiles/reviewsbymovie/negative.csv') 0.001
* def smoke4 = read('classpath:tests/CSVfiles/reviewsbyuser/smoke.csv') 0.001
* def negative4 = read('classpath:tests/CSVfiles/reviewsbyuser/negative.csv') 0.001
* def smoke5 = read('classpath:tests/CSVfiles/allusers/smoke.csv') 0.001
* def DbUtils = Java.type('util.DBUtils') 0.000
* def db = new DbUtils(dbconfig) 0.001
Tags: @negative
0.154
* print 'test' 0.000
15:56:33.237 karate.env system property was: qa 
15:56:33.238 [print] test 
* def test = call read('classpath:tests/services/reviewsbymovie.feature') 0.078
tests/services/reviewsbymovie.feature 0.000
> * print 'Inside get review service' 0.000
15:56:33.247 [print] Inside get review service 
> Given url baseUrl + 'reviewsbymovie?imdbid=' + imdbid 0.000
> When method get 0.069
15:56:33.249 request:
1 > GET http://localhost:8085/reviewsbymovie?imdbid=abc@#$;,'
1 > Host: localhost:8085
1 > Connection: Keep-Alive
1 > User-Agent: Apache-HttpClient/4.5.13 (Java/1.8.0_231)
1 > Accept-Encoding: gzip,deflate


15:56:33.317 response time in milliseconds: 67
1 < 200
1 < Vary: Origin
1 < Vary: Access-Control-Request-Method
1 < Vary: Access-Control-Request-Headers
1 < Content-Type: application/json
1 < Transfer-Encoding: chunked
1 < Date: Tue, 09 Jan 2024 22:56:32 GMT
1 < Keep-Alive: timeout=60
1 < Connection: keep-alive
[]
> Then status 200 0.000
* karate.log(test.response) 0.000
15:56:33.318 
* assert test.responseStatus == respStatus 0.000
* karate.log(test.response.error) 0.002
15:56:33.321 [FAILED toString()]
* karate.log(error) 0.000
15:56:33.321 #notpresent 
* match test.response.error == error 0.000
* match test.response.message == message 0.000
0.012
* url 'https://jsonplaceholder.typicode.com' 0.000
15:56:31.919 karate.env system property was: qa 
* def smoke = read('classpath:tests/CSVfiles/reviewsbyone/smoke.csv') 0.001
* def negative = read('classpath:tests/CSVfiles/reviewsbyone/negative.csv') 0.001
* def smoke2 = read('classpath:tests/CSVfiles/reviewsforhome/smoke.csv') 0.001
* def smoke3 = read('classpath:tests/CSVfiles/reviewsbymovie/smoke.csv') 0.001
* def negative3 = read('classpath:tests/CSVfiles/reviewsbymovie/negative.csv') 0.001
* def smoke4 = read('classpath:tests/CSVfiles/reviewsbyuser/smoke.csv') 0.001
* def negative4 = read('classpath:tests/CSVfiles/reviewsbyuser/negative.csv') 0.001
* def smoke5 = read('classpath:tests/CSVfiles/allusers/smoke.csv') 0.000
* def DbUtils = Java.type('util.DBUtils') 0.000
* def db = new DbUtils(dbconfig) 0.000
Tags: @smoke
0.665
* print 'test' 0.000
15:56:33.326 karate.env system property was: qa 
15:56:33.327 [print] test 
* def test = call read('classpath:tests/services/reviewsbyuser.feature') 0.119
tests/services/reviewsbyuser.feature 0.000
> * print 'Inside get review service' 0.000
15:56:33.333 [print] Inside get review service 
> Given url baseUrl + 'reviewsbyuser?username=' + revusername 0.000
> When method get 0.112
15:56:33.335 request:
1 > GET http://localhost:8085/reviewsbyuser?username=sbarlowc
1 > Host: localhost:8085
1 > Connection: Keep-Alive
1 > User-Agent: Apache-HttpClient/4.5.13 (Java/1.8.0_231)
1 > Accept-Encoding: gzip,deflate


15:56:33.445 response time in milliseconds: 110
1 < 200
1 < Vary: Origin
1 < Vary: Access-Control-Request-Method
1 < Vary: Access-Control-Request-Headers
1 < Content-Type: application/json
1 < Transfer-Encoding: chunked
1 < Date: Tue, 09 Jan 2024 22:56:32 GMT
1 < Keep-Alive: timeout=60
1 < Connection: keep-alive
[{"revrating":10.0,"revid":20,"revdesc":"This is my absolute favorite MCU movie. Tom Holland does a great job with the role, and I feel like the MCU has a bad habit of making every conflict have the entire universe at stake. In this movie, it's more grounded which I find more relatable. The conflict matters but isn't the fabric of reality itself, the hero is fun and the villain is fantastic. Highly recommend even if you're not a big super hero person.","movieid":"tt2250912","userid":4},{"revrating":1.0,"revid":21,"revdesc":"This is really a prime example of super hero movies gone wrong. Super half baked CGI and some really weird plot turns. I wish I was exaggerating when I said that HULK fights mutant poodles in this movie but somehow it's come to this.","movieid":"tt0286716","userid":4},{"revrating":8.0,"revid":22,"revdesc":"This movie was so fun, the stunts and action scenes were absolutely on the pinnacle of what films can accomplish in this day and age. That said I thought the plot was pretty nonsense. The main conflict was difficult to grasp and straining the limits of believability. However I put this movie right next to Avatar 2 in my list of movies that are breathtaking to watch if you try to disregard the reasons that things are happening.","movieid":"tt9603212","userid":4},{"revrating":4.0,"revid":26,"revdesc":"This movie had a lot going for it. The actors did a great job and some of the dialogue was really captivating and made you think about how fragile civilization is and how dangerous human nature can be. However the pacing really held it back and a significant lack of believability in the scenarios they give you really made me struggle to enjoy it. It was also about an hour too long in my humble opinion.","movieid":"tt10545296","userid":4},{"revrating":8.0,"revid":29,"revdesc":"Very good, absolutely jaw dropping CGI but littered with some odd plot points and low brow humor that holds it back a little in my opinion.","movieid":"tt0418279","userid":4},{"revrating":7.0,"revid":30,"revdesc":"I have mixed feelings about this one. They did a lot right and Colin Farrell as the Penguin was an absolutely beautiful thing. The tone was great and the music was absolutely phenomenal. That said there was a really long part at the end that felt a little bit tacked on. And a few things felt odd, like batman in full costume hanging out with a bunch of cops like a cringey comic con nerd. A great watch though despite the things holding it back.","movieid":"tt1877830","userid":4}]
* karate.log(test.response[0].revid) 0.001
15:56:33.448 20 
* def reviews = db.readRows('SELECT * FROM reviews WHERE revid IN (' + test.response[0].revid + ',' + test.response[1].revid + ',' + test.response[2].revid + ')') 0.425
* karate.log(reviews.length) 0.003
15:56:33.877 3 
* assert reviews.length == 3 0.000
* assert test.responseStatus == respStatus 0.000
0.010
* url 'https://jsonplaceholder.typicode.com' 0.000
15:56:31.941 karate.env system property was: qa 
* def smoke = read('classpath:tests/CSVfiles/reviewsbyone/smoke.csv') 0.001
* def negative = read('classpath:tests/CSVfiles/reviewsbyone/negative.csv') 0.001
* def smoke2 = read('classpath:tests/CSVfiles/reviewsforhome/smoke.csv') 0.001
* def smoke3 = read('classpath:tests/CSVfiles/reviewsbymovie/smoke.csv') 0.000
* def negative3 = read('classpath:tests/CSVfiles/reviewsbymovie/negative.csv') 0.000
* def smoke4 = read('classpath:tests/CSVfiles/reviewsbyuser/smoke.csv') 0.000
* def negative4 = read('classpath:tests/CSVfiles/reviewsbyuser/negative.csv') 0.000
* def smoke5 = read('classpath:tests/CSVfiles/allusers/smoke.csv') 0.000
* def DbUtils = Java.type('util.DBUtils') 0.000
* def db = new DbUtils(dbconfig) 0.000
Tags: @negative
0.326
* print 'test' 0.000
15:56:33.860 karate.env system property was: qa 
15:56:33.861 [print] test 
* def test = call read('classpath:tests/services/reviewsbyuser.feature') 0.161
tests/services/reviewsbyuser.feature 0.000
> * print 'Inside get review service' 0.000
15:56:33.866 [print] Inside get review service 
> Given url baseUrl + 'reviewsbyuser?username=' + revusername 0.000
> When method get 0.155
15:56:33.869 request:
1 > GET http://localhost:8085/reviewsbyuser?username=idontexistsorry
1 > Host: localhost:8085
1 > Connection: Keep-Alive
1 > User-Agent: Apache-HttpClient/4.5.13 (Java/1.8.0_231)
1 > Accept-Encoding: gzip,deflate


15:56:34.023 response time in milliseconds: 154
1 < 200
1 < Vary: Origin
1 < Vary: Access-Control-Request-Method
1 < Vary: Access-Control-Request-Headers
1 < Content-Length: 0
1 < Date: Tue, 09 Jan 2024 22:56:33 GMT
1 < Keep-Alive: timeout=60
1 < Connection: keep-alive

* karate.log(test.response) 0.000
15:56:34.024  
* assert test.responseStatus == respStatus 0.000
* karate.log(test.response.error) 0.003
15:56:34.028 [FAILED toString()]
* karate.log(error) 0.000
15:56:34.028 #notpresent 
* match test.response.error == error 0.002
* match test.response.message == message 0.000
0.010
* url 'https://jsonplaceholder.typicode.com' 0.000
15:56:31.941 karate.env system property was: qa 
* def smoke = read('classpath:tests/CSVfiles/reviewsbyone/smoke.csv') 0.001
* def negative = read('classpath:tests/CSVfiles/reviewsbyone/negative.csv') 0.001
* def smoke2 = read('classpath:tests/CSVfiles/reviewsforhome/smoke.csv') 0.001
* def smoke3 = read('classpath:tests/CSVfiles/reviewsbymovie/smoke.csv') 0.000
* def negative3 = read('classpath:tests/CSVfiles/reviewsbymovie/negative.csv') 0.000
* def smoke4 = read('classpath:tests/CSVfiles/reviewsbyuser/smoke.csv') 0.000
* def negative4 = read('classpath:tests/CSVfiles/reviewsbyuser/negative.csv') 0.000
* def smoke5 = read('classpath:tests/CSVfiles/allusers/smoke.csv') 0.000
* def DbUtils = Java.type('util.DBUtils') 0.000
* def db = new DbUtils(dbconfig) 0.000
Tags: @negative
0.292
* print 'test' 0.000
15:56:33.862 karate.env system property was: qa 
15:56:33.863 [print] test 
* def test = call read('classpath:tests/services/reviewsbyuser.feature') 0.144
tests/services/reviewsbyuser.feature 0.000
> * print 'Inside get review service' 0.000
15:56:33.869 [print] Inside get review service 
> Given url baseUrl + 'reviewsbyuser?username=' + revusername 0.000
> When method get 0.137
15:56:33.872 request:
1 > GET http://localhost:8085/reviewsbyuser?username=abc@#$,;'.
1 > Host: localhost:8085
1 > Connection: Keep-Alive
1 > User-Agent: Apache-HttpClient/4.5.13 (Java/1.8.0_231)
1 > Accept-Encoding: gzip,deflate


15:56:34.007 response time in milliseconds: 134
1 < 200
1 < Vary: Origin
1 < Vary: Access-Control-Request-Method
1 < Vary: Access-Control-Request-Headers
1 < Content-Length: 0
1 < Date: Tue, 09 Jan 2024 22:56:33 GMT
1 < Keep-Alive: timeout=60
1 < Connection: keep-alive

* karate.log(test.response) 0.001
15:56:34.009  
* assert test.responseStatus == respStatus 0.000
* karate.log(test.response.error) 0.005
15:56:34.015 [FAILED toString()]
* karate.log(error) 0.000
15:56:34.016 #notpresent 
* match test.response.error == error 0.000
* match test.response.message == message 0.000