Lightning
Lightning is a real-time social media REST API, to be used in conjunction with Thunder. Lightning provides methods to request data from various 3rd party social media and cloud services, including Facebook and Twitter.
Running Locally
- Requirements
- Java 1.8
- Maven 3.3.3
First, fork this repo on GitHub. Then, clone your forked repo onto your machine.
$ git clone YOUR-FORK-URL
Compile and package the source code with Maven.
$ mvn package
Run the packaged jar with the server argument.
$ java -jar application/target/application-*.jar server
Lightning should now be running on localhost port 9000.
Testing
There is a Python testing script available in the scripts
directory. To run this script, make sure you are in the base lightning directory and run the following command.
$ python scripts/tester.py
There are multiple optional command line arguments for the testing script. These are described in the table below, along with their default values. Additionally, when running the script from the command line, adding the -h
option will display a help message with all optional arguments.
Flag | Description | Default Value |
---|---|---|
-h --help |
Display a help message. | ---- |
-e --endpoint |
The endpoint to connect to lightning with. | http://localhost:9000 |
-m --email |
The email to make requests for. | testy@gmail.com |
-p --password |
The password of the user that matches the username. Should not be a hashed password. | password |
-a --auth |
The basic authentication credentials in the form {app_name}:{app_secret} |
application:secret |
-v --verbose |
Provide more output information. | False |
When adding new endpoints to lightning, be sure to include a new TestCase
for that endpoint in the tester.py
script.
Another testing option is to use HTTPie. See the wiki for each individual command.