Code Monkey home page Code Monkey logo

dropshot-server's People

Contributors

maome avatar phillipnordwall avatar radicalzephyr avatar reillysiemens avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

dropshot-server's Issues

Make imports less side-effectful.

As it stands importing dropshot.py and sslcherrypy.py generate some side-effects. When dropshot is imported it creates a database and opens sessions (that's really screwing with tests). When sslcherrypy is imported it's less frustrating, but it registers itselfas a WSGI capable server outside the SSLCherryPy class, a job I think belongs more in dropshot's court.

Create player sets the current_player variable

Because of the way the set_logged_in_player hook works, right now, after we create a single player in the database we are automatically setting that player as the current_player variable to be that player. This is making it impossible to create more than one player, and thus breaking our only test...

The reason this is happening is because the request.get_cookie() is returning None, which then gets matched against the player's empty authToken in the database.

API Delete Resources Option

Currently the API exposes no way to delete/remove resources that have been created. While this is not desirable for a normal user it is something that an administrative user will most likely want to be able to do. Therefore it is important that we develop a way to delete any resources that the API allows users to create. It is also important that we develop this ability in a secure fashion.

Make tests runnable more than once

Currently, the tests "dirty" the environment. A user is created in the database, and the database isn't cleaned afterwards.

Thus, if you run the tests twice in a row without removing the database file, the tests fail the second time.

Ideally, the tests should be fully idempotent, and should continue to pass no matter how many times they're run.

Expand testing!

We now have working continuous integration! But only a very limited set of tests (and by that I mean 1). We need to expand the tests so that they cover more of the functionality of the API.

We also need to develop several types of testing. Probably a "smoke test" that tests the sequence of creating a user, authenticating, creating a game etc. logging out.

Also, integration tests that do... stuff, I'm not sure about these so much. Maybe we'll need integration tests when we have a web front-end.

Also, unit tests. ASAP

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.