From: Nicolas Lœuillet Date: Tue, 16 Feb 2016 19:18:59 +0000 (+0100) Subject: add tests X-Git-Tag: 2.0.0-beta.2~10^2~8 X-Git-Url: https://git.immae.eu/?a=commitdiff_plain;h=8a4690b6a56afd836c4d6ea7f640934fafa6c9cf;p=github%2Fwallabag%2Fwallabag.git add tests --- diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Developer/client.html.twig b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Developer/client.html.twig new file mode 100644 index 00000000..061f4631 --- /dev/null +++ b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Developer/client.html.twig @@ -0,0 +1,31 @@ +{% extends "WallabagCoreBundle::layout.html.twig" %} + +{% block title %}{% trans %}New client{% endtrans %}{% endblock %} + +{% block content %} +
+
+
+ +
+

{% trans %}You will create a new client. Please fill the field below for the redirect URI of your application:{% endtrans %}

+ {{ form_start(form) }} + {{ form_errors(form) }} +
+ {{ form_label(form.redirect_uris) }} + {{ form_errors(form.redirect_uris) }} + {{ form_widget(form.redirect_uris) }} +
+ + + {% trans %}Back{% endtrans %} + +
+ +
+
+
+ +{% endblock %} diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Developer/client_parameters.html.twig b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Developer/client_parameters.html.twig new file mode 100644 index 00000000..8e3966b9 --- /dev/null +++ b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Developer/client_parameters.html.twig @@ -0,0 +1,25 @@ +{% extends "WallabagCoreBundle::layout.html.twig" %} + +{% block title %}{% trans %}Client parameters{% endtrans %}{% endblock %} + +{% block content %} +
+
+
+
+

{% trans %}Here are your client parameters.{% endtrans %}

+

{% trans %}Make sure to copy these parameters now. You won’t be able to see them again!{% endtrans %}

+
    +
  • {% trans %}Client ID:{% endtrans %}
    {{ client_id }}
  • +
  • {% trans %}Client secret:{% endtrans %}
    {{ client_secret }}
  • +
+ + {% trans %}Back{% endtrans %} + {% trans %}Read the howto "Create my first application"{% endtrans %} +
+
+ +
+
+ +{% endblock %} diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Developer/howto_app.html.twig b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Developer/howto_app.html.twig new file mode 100644 index 00000000..497bb308 --- /dev/null +++ b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Developer/howto_app.html.twig @@ -0,0 +1,62 @@ +{% extends "WallabagCoreBundle::layout.html.twig" %} + +{% block title %}{% trans %}How to create my first application{% endtrans %}{% endblock %} + +{% block css %} + {{ parent() }} + +{% endblock %} + +{% block content %} +
+
+
+ +
+

The following commands make use of the HTTPie library. Make sure it is installed on your system before using it.

+

You need a token to communicate between your 3rd application and wallabag API.

+

To create this token, you need to create a new client.

+

Now, create your token (replace client_id, client_secret, username and password with the good values):

+

+

http POST http://v2.wallabag.org/oauth/v2/token \
+    grant_type=password \
+    client_id=12_5um6nz50ceg4088c0840wwc0kgg44g00kk84og044ggkscso0k \
+    client_secret=3qd12zpeaxes8cwg8c0404g888co4wo8kc4gcw0occww8cgw4k \
+    username=yourUsername \
+    password=yourPassw0rd
+

+

The API will return a response like this:

+

+

HTTP/1.1 200 OK
+Cache-Control: no-store, private
+Connection: close
+Content-Type: application/json
+Date: Tue, 06 Oct 2015 18:24:03 GMT
+Host: localhost:8000
+Pragma: no-cache
+X-Debug-Token: be00a1
+X-Debug-Token-Link: /profiler/be00a1
+X-Powered-By: PHP/5.5.9-1ubuntu4.13
+{
+    "access_token": "ZWFjNjA3ZWMwYWVmYzRkYTBlMmQ3NTllYmVhOGJiZDE0ZTg1NjE4MjczOTVlNzM0ZTRlMWQ0MmRlMmYwNTk5Mw",
+    "expires_in": 3600,
+    "refresh_token": "ODBjODU1NWUwNmUzZTBkNDQ5YWVlZTVlMjQ2Y2I0OWM2NTM1ZGM2M2Y3MDhjMTViM2U2MzYxYzRkMDk5ODRlZg",
+    "scope": null,
+    "token_type": "bearer"
+}
+

+

The access_token is useful to do a call to the API endpoint. For example:

+

+

http GET http://v2.wallabag.org/api/entries.json \
+    "Authorization:Bearer ZWFjNjA3ZWMwYWVmYzRkYTBlMmQ3NTllYmVhOGJiZDE0ZTg1NjE4MjczOTVlNzM0ZTRlMWQ0MmRlMmYwNTk5Mw"
+

+

This call will return all the entries for your user.

+

If you want to see all the API endpoints, you can have a look to our API documentation.

+

{% trans %}Back{% endtrans %}

+
+ +
+
+
+ +{% endblock %} diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Developer/index.html.twig b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Developer/index.html.twig new file mode 100644 index 00000000..b983883f --- /dev/null +++ b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Developer/index.html.twig @@ -0,0 +1,32 @@ +{% extends "WallabagCoreBundle::layout.html.twig" %} + +{% block title %}{% trans %}Developer{% endtrans %}{% endblock %} + +{% block content %} +
+
+
+ +
+

{% trans %}Welcome to the wallabag API{% endtrans %}

+ +

{% trans %}Documentation{% endtrans %}

+ + + +

{% trans %}Clients{% endtrans %}

+ + +
+ +
+
+
+ + +{% endblock %} diff --git a/src/Wallabag/CoreBundle/Tests/Controller/DeveloperControllerTest.php b/src/Wallabag/CoreBundle/Tests/Controller/DeveloperControllerTest.php new file mode 100644 index 00000000..e5028f47 --- /dev/null +++ b/src/Wallabag/CoreBundle/Tests/Controller/DeveloperControllerTest.php @@ -0,0 +1,29 @@ +logInAs('admin'); + $client = $this->getClient(); + + $crawler = $client->request('GET', '/developer/client/create'); + $this->assertEquals(200, $client->getResponse()->getStatusCode()); + + $form = $crawler->filter('button[type=submit]')->form(); + + $crawler = $client->submit($form); + + $this->assertEquals(200, $client->getResponse()->getStatusCode()); + $this->assertContains('Make sure to copy these parameters now.', $client->getResponse()->getContent()); + } +}