Submitted Assignment 2

Needed to disable generation of data URL because AutoGrader compared
original object that the client sent to the repository object.  Hence,
adding a data URL breaks the grader.

Your assignment HAS NOT BEEN SUBMITTED. This script only estimates your
grade
and builds the subission package that you need to turn your assignment
in.
Please read the instructions at the end for the steps to submit the
package
produced by this application to Coursera.

Your estimated score is: 180.0/180
(This is not your actual grade for the assignment, just an estimate.
Why? The
actual grade is only calculated after submission to Coursera.

------------------------------Assignment
Evaluation-----------------------------
--------Your solution received points for the following grading
rubrics:--------

Video data is preserved
Rubric Score: 20.0/20.0
Goal: The goal of this evaluation is to ensure that your Spring
controller(s)
properly unmarshall Video objects from the data that is sent to them
and that
the HTTP API for adding videos is implemented properly. The test checks
that
your code properly accepts a request body with application/json data and
preserves all the properties that are set by the client. The test also
checks
that you generate an ID and data URL for the uploaded video.
Reference: This test is derived from the material in these videos:
https://class.coursera.org/mobilecloud-001/lecture/61
https://class.coursera.org/mobilecloud-001/lecture/97
https://class.coursera.org/mobilecloud-001/lecture/99

The list of videos is updated after an add
Rubric Score: 20.0/20.0
Goal: The goal of this evaluation is to ensure that your Spring
controller(s)
can add videos to the list that is stored in memory on the server. The
test also
ensure that you properly return a list of videos as JSON.
Reference: This test is derived from the material in these videos:
https://class.coursera.org/mobilecloud-001/lecture/61
https://class.coursera.org/mobilecloud-001/lecture/97
https://class.coursera.org/mobilecloud-001/lecture/99

Requests without authentication token are denied.
Rubric Score: 20.0/20.0
Goal: The goal of this evaluation is to ensure that your Spring
application
properly authenticates queries using the OAuth Password Grant flow.Any
query
that does not contain the correct authorization tokenshould be denied
with a 401
error.
Reference: This test is derived from the material in these videos:
https://class.coursera.org/mobilecloud-001/lecture/117
https://class.coursera.org/mobilecloud-001/lecture/127
https://class.coursera.org/mobilecloud-001/lecture/123

A user can like/unlike a video and increment/decrement the like count
Rubric Score: 20.0/20.0
Goal: The goal of this evaluation is to ensure that your Spring
application
allows users to like/unlike videos using the /video/{id}/like endpoint,
andand
the /video/{id}/unlike endpoint.Once a user likes/unlikes a video, the
count of
users that like that videoshould be incremented/decremented.
Reference: This test is derived from the material in these videos:
https://class.coursera.org/mobilecloud-001/lecture/99
https://class.coursera.org/mobilecloud-001/lecture/121

A user can like/unlike a video and be added to/removed from the "liked
by" list.
Rubric Score: 20.0/20.0
Goal: The goal of this evaluation is to ensure that your Spring
application
allows users to like/unlike videos using the /video/{id}/like
endpointand the
/video/{id}/unlike endpoint.Once a user likes/unlikes a video, the
username
should be added to/removed from the list of users that like that video.
Reference: This test is derived from the material in these videos:
https://class.coursera.org/mobilecloud-001/lecture/99
https://class.coursera.org/mobilecloud-001/lecture/121

A user is only allowed to like a video once.
Rubric Score: 20.0/20.0
Goal: The goal of this evaluation is to ensure that your Spring
application
restricts users to liking a video only once. This test simply attempts
to like a
video twice and then checks that the like count is only 1.
Reference: This test is derived from the material in these videos:
https://class.coursera.org/mobilecloud-001/lecture/99
https://class.coursera.org/mobilecloud-001/lecture/121

A user cannot like a non-existant video
Rubric Score: 20.0/20.0
Goal: The goal of this evaluation is to ensure that your Spring
application
won't crash if a user attempts to like a non-existant video. This test
simply
attempts to like a non-existant video then checks that a 404 Not Found
response
is returned.
Reference: This test is derived from the material in these videos:
https://class.coursera.org/mobilecloud-001/lecture/99
https://class.coursera.org/mobilecloud-001/lecture/121

A user can find a video by providing its name
Rubric Score: 20.0/20.0
Goal: The goal of this evaluation is to ensure that your Spring
application
allows users to find videos by searching for the video's name.
Reference: This test is derived from the material in these videos:
https://class.coursera.org/mobilecloud-001/lecture/97
https://class.coursera.org/mobilecloud-001/lecture/99

A user can find videos that have a duration less than a certain value.
Rubric Score: 20.0/20.0
Goal: The goal of this evaluation is to ensure that your Spring
application
allows users to find videos by searching for videos with a duration
less that a
specified value.
Reference: This test is derived from the material in these videos:
https://class.coursera.org/mobilecloud-001/lecture/97
https://class.coursera.org/mobilecloud-001/lecture/99

------------------------------------------------------------------------
--------
----------------------------Your Submission
Package-----------------------------
A submission package for Coursera has been created. Your submission
package is:
/Users/Gene/GitHub/mobilecloud-15/assignments/Asgn2-VideoLike/coursera-s
ubmission/Asgn2.8557156c-faaf-4383-a0aa-90a8dc748125.zip

----------------------------Submission
Instructions-----------------------------
When you are ready to submit your assignment:
1. Run this autograder to generate a submission package for the final
version of
your solution
2. Submit the generated zip file as the 'Output Submission' for the
assignment
(leave 'Additional Submission' empty)
3. Your solution will be autograded on the server and your grade
submitted to
Coursera