aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorNicolas Lœuillet <nicolas@loeuillet.org>2016-02-16 20:18:59 +0100
committerNicolas Lœuillet <nicolas@loeuillet.org>2016-02-29 21:28:25 +0100
commit8a4690b6a56afd836c4d6ea7f640934fafa6c9cf (patch)
tree9feddc65dcb0ece4a5ac43783ac9f15bf73b676e
parentabc329453be6381bcf4d1b0dfd9f698312ed3b16 (diff)
downloadwallabag-8a4690b6a56afd836c4d6ea7f640934fafa6c9cf.tar.gz
wallabag-8a4690b6a56afd836c4d6ea7f640934fafa6c9cf.tar.zst
wallabag-8a4690b6a56afd836c4d6ea7f640934fafa6c9cf.zip
add tests
-rw-r--r--src/Wallabag/CoreBundle/Resources/views/themes/baggy/Developer/client.html.twig31
-rw-r--r--src/Wallabag/CoreBundle/Resources/views/themes/baggy/Developer/client_parameters.html.twig25
-rw-r--r--src/Wallabag/CoreBundle/Resources/views/themes/baggy/Developer/howto_app.html.twig62
-rw-r--r--src/Wallabag/CoreBundle/Resources/views/themes/baggy/Developer/index.html.twig32
-rw-r--r--src/Wallabag/CoreBundle/Tests/Controller/DeveloperControllerTest.php29
5 files changed, 179 insertions, 0 deletions
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 @@
1{% extends "WallabagCoreBundle::layout.html.twig" %}
2
3{% block title %}{% trans %}New client{% endtrans %}{% endblock %}
4
5{% block content %}
6<div class="row">
7 <div class="col s12">
8 <div class="card-panel settings">
9
10 <div class="row">
11 <p>{% trans %}You will create a new client. Please fill the field below for the redirect URI of your application:{% endtrans %}</p>
12 {{ form_start(form) }}
13 {{ form_errors(form) }}
14 <div class="input-field col s12">
15 {{ form_label(form.redirect_uris) }}
16 {{ form_errors(form.redirect_uris) }}
17 {{ form_widget(form.redirect_uris) }}
18 </div>
19 <div class="hidden">{{ form_rest(form) }}</div>
20
21 <a href="{{ path('developer') }}" class="waves-effect waves-light grey btn">{% trans %}Back{% endtrans %}</a>
22 <button class="btn waves-effect waves-light" type="submit" name="action">
23 {% trans %}Create new client{% endtrans %}
24 </button>
25 </div>
26
27 </div>
28 </div>
29</div>
30
31{% 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 @@
1{% extends "WallabagCoreBundle::layout.html.twig" %}
2
3{% block title %}{% trans %}Client parameters{% endtrans %}{% endblock %}
4
5{% block content %}
6<div class="row">
7 <div class="col s12">
8 <div class="card-panel settings">
9 <div class="row">
10 <p>{% trans %}Here are your client parameters.{% endtrans %}</p>
11 <p><strong>{% trans %}Make sure to copy these parameters now. You won’t be able to see them again!{% endtrans %}</strong></p>
12 <ul>
13 <li>{% trans %}Client ID:{% endtrans %} <strong><pre>{{ client_id }}</pre></strong></li>
14 <li>{% trans %}Client secret:{% endtrans %} <strong><pre>{{ client_secret }}</pre></strong></li>
15 </ul>
16
17 <a href="{{ path('developer') }}" class="waves-effect waves-light grey btn">{% trans %}Back{% endtrans %}</a>
18 <a href="{{ path('howto-firstapp') }}" class="btn waves-effect waves-light">{% trans %}Read the howto "Create my first application"{% endtrans %}</a>
19 </div>
20 </div>
21
22 </div>
23 </div>
24</div>
25{% 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 @@
1{% extends "WallabagCoreBundle::layout.html.twig" %}
2
3{% block title %}{% trans %}How to create my first application{% endtrans %}{% endblock %}
4
5{% block css %}
6 {{ parent() }}
7 <link rel="stylesheet" href="{{ asset('bundles/wallabagcore/themes/_global/css/prism.css') }}">
8{% endblock %}
9
10{% block content %}
11<div class="row">
12 <div class="col s12">
13 <div class="card-panel settings">
14
15 <div class="row">
16 <p>The following commands make use of the <a href="https://github.com/jkbrzt/httpie">HTTPie library</a>. Make sure it is installed on your system before using it.</p>
17 <p>You need a token to communicate between your 3rd application and wallabag API.</p>
18 <p>To create this token, you need <a href="{{ path('create_client') }}">to create a new client</a>.</p>
19 <p>Now, create your token (replace client_id, client_secret, username and password with the good values):</p>
20 <p>
21 <pre><code class="language-bash">http POST http://v2.wallabag.org/oauth/v2/token \
22 grant_type=password \
23 client_id=12_5um6nz50ceg4088c0840wwc0kgg44g00kk84og044ggkscso0k \
24 client_secret=3qd12zpeaxes8cwg8c0404g888co4wo8kc4gcw0occww8cgw4k \
25 username=yourUsername \
26 password=yourPassw0rd</code></pre>
27 </p>
28 <p>The API will return a response like this:</p>
29 <p>
30 <pre><code class="language-bash">HTTP/1.1 200 OK
31Cache-Control: no-store, private
32Connection: close
33Content-Type: application/json
34Date: Tue, 06 Oct 2015 18:24:03 GMT
35Host: localhost:8000
36Pragma: no-cache
37X-Debug-Token: be00a1
38X-Debug-Token-Link: /profiler/be00a1
39X-Powered-By: PHP/5.5.9-1ubuntu4.13
40{
41 "access_token": "ZWFjNjA3ZWMwYWVmYzRkYTBlMmQ3NTllYmVhOGJiZDE0ZTg1NjE4MjczOTVlNzM0ZTRlMWQ0MmRlMmYwNTk5Mw",
42 "expires_in": 3600,
43 "refresh_token": "ODBjODU1NWUwNmUzZTBkNDQ5YWVlZTVlMjQ2Y2I0OWM2NTM1ZGM2M2Y3MDhjMTViM2U2MzYxYzRkMDk5ODRlZg",
44 "scope": null,
45 "token_type": "bearer"
46}</code></pre>
47 </p>
48 <p>The access_token is useful to do a call to the API endpoint. For example:</p>
49 <p>
50 <pre><code class="language-bash">http GET http://v2.wallabag.org/api/entries.json \
51 "Authorization:Bearer ZWFjNjA3ZWMwYWVmYzRkYTBlMmQ3NTllYmVhOGJiZDE0ZTg1NjE4MjczOTVlNzM0ZTRlMWQ0MmRlMmYwNTk5Mw"</code></pre>
52 </p>
53 <p>This call will return all the entries for your user.</p>
54 <p>If you want to see all the API endpoints, you can have a look <a href="{{ path('nelmio_api_doc_index') }}">to our API documentation</a>.</p>
55 <p><a href="{{ path('developer') }}" class="waves-effect waves-light grey btn">{% trans %}Back{% endtrans %}</a></p>
56 </div>
57
58 </div>
59 </div>
60</div>
61 <script src="{{ asset('bundles/wallabagcore/themes/_global/js/prism.js') }}"></script>
62{% 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 @@
1{% extends "WallabagCoreBundle::layout.html.twig" %}
2
3{% block title %}{% trans %}Developer{% endtrans %}{% endblock %}
4
5{% block content %}
6<div class="row">
7 <div class="col s12">
8 <div class="card-panel settings">
9
10 <div class="row">
11 <h3>{% trans %}Welcome to the wallabag API{% endtrans %}</h3>
12
13 <h4>{% trans %}Documentation{% endtrans %}</h4>
14
15 <ul>
16 <li><a href="{{ path('howto-firstapp') }}">{% trans %}How to create my first application{% endtrans %}</a></li>
17 <li><a href="{{ path('nelmio_api_doc_index') }}">{% trans %}View full API documentation{% endtrans %}</a></li>
18 </ul>
19
20 <h4>{% trans %}Clients{% endtrans %}</h4>
21 <ul>
22 <li><a href="{{ path('create_client') }}">{% trans %}Create a new client{% endtrans %}</a></li>
23 </ul>
24
25 </div>
26
27 </div>
28 </div>
29</div>
30
31
32{% 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 @@
1<?php
2/**
3 * Created by PhpStorm.
4 * User: nicosomb
5 * Date: 16/02/16
6 * Time: 19:39.
7 */
8namespace Wallabag\CoreBundle\Tests\Controller;
9
10use Wallabag\CoreBundle\Tests\WallabagCoreTestCase;
11
12class DeveloperControllerTest extends WallabagCoreTestCase
13{
14 public function testNewClient()
15 {
16 $this->logInAs('admin');
17 $client = $this->getClient();
18
19 $crawler = $client->request('GET', '/developer/client/create');
20 $this->assertEquals(200, $client->getResponse()->getStatusCode());
21
22 $form = $crawler->filter('button[type=submit]')->form();
23
24 $crawler = $client->submit($form);
25
26 $this->assertEquals(200, $client->getResponse()->getStatusCode());
27 $this->assertContains('Make sure to copy these parameters now.', $client->getResponse()->getContent());
28 }
29}