Commit 027ebb2bea1e41a9c29789f156b8c41b8803a0b4

Authored by Macartur Sousa
1 parent ba3909bb
Exists in master and in 79 other branches add_sisp_to_chef, add_super_archives_plugin, api_for_colab, automates_core_packing, backup_not_prod, changes_in_buttons_on_content_panel, colab_automated_login, colab_spb_plugin_recipe, colab_widgets_settings, design_validation, dev_env_minimal, disable_email_dev, fix_breadcrumbs_position, fix_categories_software_link, fix_edit_institution, fix_edit_software_with_another_license, fix_get_license_info, fix_gitlab_assets_permission, fix_list_style_inside_article, fix_list_style_on_folder_elements, fix_members_pagination, fix_merge_request_url, fix_models_translations, fix_no_license, fix_software_api, fix_software_block_migration, fix_software_communities_translations, fix_software_communities_unit_test, fix_style_create_institution_admin_panel, fix_superarchives_imports, fix_sym_links_noosfero, focus_search_field_theme, gov-user-refactoring, gov-user-refactoring-rails4, header_fix, institution_modal_on_rating, kalibro-conf-refactoring, kalibro-processor-package, lxc_settings, margin_fix, mezuro_cookbook, prezento, refactor_download_block, refactor_software_communities, refactor_software_for_sisp, register_page, release-process, release-process-v2, remove-unused-images, remove_broken_theme, remove_secondary_email_from_user, remove_sisp_buttons, removing_super_archives_email, review_message, scope2method, signals_user_noosfero, sisp_catalog_header, sisp_colab_config, sisp_dev, sisp_dev_master, sisp_simple_version, software_as_organization, software_catalog_style_fix, software_communities_html_refactor, software_infos_api, spb_minimal_env, spb_to_rails4, spec_refactor, stable-4.1, stable-4.2, stable-4.x, temp_soft_comm_refactoring, theme_header, theme_javascript_refactory, thread_dropdown, thread_page, update_search_by_categories, update_software_api, update_softwares_boxes

Added Tests and fixing discussion

Signed-off-by: Macartur Sousa <macartur.sc@gmail.com>
Signed-off-by: Gust <darksshades@hotmail.com>
colab_spb/fixtures/test_data.json 0 → 100644
... ... @@ -0,0 +1,368 @@
  1 +[
  2 +{
  3 + "fields": {
  4 + "description": "List A description.",
  5 + "email": "listA@example.com",
  6 + "logo": "",
  7 + "last_imported_index": 0,
  8 + "is_private": false,
  9 + "name": "ListA"
  10 + },
  11 + "model": "super_archives.mailinglist",
  12 + "pk": 1
  13 +},
  14 +{
  15 + "fields": {
  16 + "description": "List B description.",
  17 + "email": "listB@example.com",
  18 + "logo": "",
  19 + "last_imported_index": 0,
  20 + "is_private": false,
  21 + "name": "ListB"
  22 + },
  23 + "model": "super_archives.mailinglist",
  24 + "pk": 2
  25 +},
  26 +{
  27 + "fields": {
  28 + "description": "List C description",
  29 + "email": "listC@example.com",
  30 + "logo": "",
  31 + "last_imported_index": 0,
  32 + "is_private": false,
  33 + "name": "ListC"
  34 + },
  35 + "model": "super_archives.mailinglist",
  36 + "pk": 3
  37 +},
  38 +{
  39 + "fields": {
  40 + "spam": false,
  41 + "subject_token": "Thread_1_on_List_A",
  42 + "mailinglist": 1,
  43 + "score": 31,
  44 + "latest_message": 3
  45 + },
  46 + "model": "super_archives.thread",
  47 + "pk": 1
  48 +},
  49 +{
  50 + "fields": {
  51 + "spam": false,
  52 + "subject_token": "Thread_1_on_List_B",
  53 + "mailinglist": 2,
  54 + "score": 0,
  55 + "latest_message": 4
  56 + },
  57 + "model": "super_archives.thread",
  58 + "pk": 3
  59 +},
  60 +{
  61 + "fields": {
  62 + "spam": false,
  63 + "subject_token": "Thread_1_on_List_C",
  64 + "mailinglist": 3,
  65 + "score": 0,
  66 + "latest_message": 8
  67 + },
  68 + "model": "super_archives.thread",
  69 + "pk": 4
  70 +},
  71 +{
  72 + "fields": {
  73 + "spam": false,
  74 + "subject_token": "Thread_2_on_List_A ",
  75 + "mailinglist": 1,
  76 + "score": 24,
  77 + "latest_message": null
  78 + },
  79 + "model": "super_archives.thread",
  80 + "pk": 5
  81 +},
  82 +{
  83 + "fields": {
  84 + "spam": false,
  85 + "subject_token": "Thread_3_on_List_A ",
  86 + "mailinglist": 1,
  87 + "score": 24,
  88 + "latest_message": null
  89 + },
  90 + "model": "super_archives.thread",
  91 + "pk": 6
  92 +},
  93 +{
  94 + "fields": {
  95 + "spam": false,
  96 + "subject_token": "Thread_4_on_List_A ",
  97 + "mailinglist": 1,
  98 + "score": 24,
  99 + "latest_message": null
  100 + },
  101 + "model": "super_archives.thread",
  102 + "pk": 7
  103 +},
  104 +{
  105 + "fields": {
  106 + "spam": false,
  107 + "subject_token": "Thread_5_on_List_A ",
  108 + "mailinglist": 1,
  109 + "score": 24,
  110 + "latest_message": null
  111 + },
  112 + "model": "super_archives.thread",
  113 + "pk": 8
  114 +},
  115 +{
  116 + "fields": {
  117 + "spam": false,
  118 + "subject_token": "Thread_6_on_List_A ",
  119 + "mailinglist": 1,
  120 + "score": 24,
  121 + "latest_message": null
  122 + },
  123 + "model": "super_archives.thread",
  124 + "pk": 9
  125 +},
  126 +{
  127 + "fields": {
  128 + "spam": false,
  129 + "subject_token": "Thread_7_on_List_A ",
  130 + "mailinglist": 1,
  131 + "score": 24,
  132 + "latest_message": null
  133 + },
  134 + "model": "super_archives.thread",
  135 + "pk": 10
  136 +},
  137 +{
  138 + "fields": {
  139 + "spam": false,
  140 + "subject_token": "Thread_8_on_List_A ",
  141 + "mailinglist": 1,
  142 + "score": 24,
  143 + "latest_message": null
  144 + },
  145 + "model": "super_archives.thread",
  146 + "pk": 11
  147 +},
  148 +{
  149 + "fields": {
  150 + "body": "This is a repply to Thread 1 on list A",
  151 + "received_time": "2015-01-28T12:43:00.752Z",
  152 + "from_address": 1,
  153 + "thread": 1,
  154 + "spam": false,
  155 + "subject_clean": "Response to Thread 1A",
  156 + "message_id": "response_t1a",
  157 + "subject": "Response to Thread 1A"
  158 + },
  159 + "model": "super_archives.message",
  160 + "pk": 3
  161 +},
  162 +{
  163 + "fields": {
  164 + "body": "This is a repply to Thread 1 on list B",
  165 + "received_time": "2015-01-28T12:57:22.180Z",
  166 + "from_address": 1,
  167 + "thread": 3,
  168 + "spam": false,
  169 + "subject_clean": "Response to Thread 1B",
  170 + "message_id": "response_t1b",
  171 + "subject": "Message 1 on Thread 1B"
  172 + },
  173 + "model": "super_archives.message",
  174 + "pk": 4
  175 +},
  176 +{
  177 + "fields": {
  178 + "body": "This is a repply to Thread 1 on list C",
  179 + "received_time": "2015-01-28T13:02:12.903Z",
  180 + "from_address": 1,
  181 + "thread": 4,
  182 + "spam": false,
  183 + "subject_clean": "Response to Thread 1C",
  184 + "message_id": "response_1t1c",
  185 + "subject": "Message 1 on Thread 1C"
  186 + },
  187 + "model": "super_archives.message",
  188 + "pk": 5
  189 +},
  190 +{
  191 + "fields": {
  192 + "body": "This is a repply to Thread 1 on list C",
  193 + "received_time": "2015-01-28T13:02:12.903Z",
  194 + "from_address": 1,
  195 + "thread": 4,
  196 + "spam": false,
  197 + "subject_clean": "Response 2 to Thread C",
  198 + "message_id": "response_2t1c",
  199 + "subject": "Message 2 to Thread 1C"
  200 + },
  201 + "model": "super_archives.message",
  202 + "pk": 6
  203 +},
  204 +{
  205 + "fields": {
  206 + "body": "This is a repply to Thread 1 on list C",
  207 + "received_time": "2015-01-28T13:02:12.903Z",
  208 + "from_address": 1,
  209 + "thread": 4,
  210 + "spam": false,
  211 + "subject_clean": "Response 3 to Thread C",
  212 + "message_id": "response_3t1c",
  213 + "subject": "Message 3 to Thread 1C"
  214 + },
  215 + "model": "super_archives.message",
  216 + "pk": 7
  217 +},
  218 +{
  219 + "fields": {
  220 + "body": "This is a repply to Thread 1 on list C",
  221 + "received_time": "2015-01-28T13:02:12.903Z",
  222 + "from_address": 1,
  223 + "thread": 4,
  224 + "spam": false,
  225 + "subject_clean": "Response 4 to Thread C",
  226 + "message_id": "response_4t1c",
  227 + "subject": "Message 4 to Thread 1C"
  228 + },
  229 + "model": "super_archives.message",
  230 + "pk": 8
  231 +},
  232 +{
  233 + "fields": {
  234 + "last_name": "Administrator",
  235 + "webpage": "",
  236 + "twitter": "",
  237 + "is_staff": true,
  238 + "user_permissions": [],
  239 + "date_joined": "2015-01-28T12:34:58.770Z",
  240 + "google_talk": "",
  241 + "first_name": "Admin",
  242 + "is_superuser": true,
  243 + "last_login": "2015-01-28T12:35:39.621Z",
  244 + "verification_hash": null,
  245 + "role": "",
  246 + "email": "admin@mail.com",
  247 + "username": "admin",
  248 + "bio": "",
  249 + "needs_update": true,
  250 + "is_active": true,
  251 + "facebook": "",
  252 + "groups": [],
  253 + "password": "pbkdf2_sha256$12000$iiKCMnLZnFJw$UTx89LB8oYTiw9UqkcglzFLmIaZtbr+ZzF1cG3vfcyo=",
  254 + "institution": "",
  255 + "github": "",
  256 + "modified": "2015-01-28T12:45:27.375Z"
  257 + },
  258 + "model": "accounts.user",
  259 + "pk": 1
  260 +},
  261 +{
  262 + "fields": {
  263 + "last_name": "Norris",
  264 + "webpage": "",
  265 + "twitter": "",
  266 + "is_staff": true,
  267 + "user_permissions": [],
  268 + "date_joined": "2015-01-28T12:34:58.770Z",
  269 + "google_talk": "",
  270 + "first_name": "Chuck",
  271 + "is_superuser": true,
  272 + "last_login": "2015-01-28T12:35:39.621Z",
  273 + "verification_hash": null,
  274 + "role": "",
  275 + "email": "chucknorris@mail.com",
  276 + "username": "chucknorris",
  277 + "bio": "",
  278 + "needs_update": true,
  279 + "is_active": true,
  280 + "facebook": "",
  281 + "groups": [],
  282 + "password": "pbkdf2_sha256$12000$iiKCMnLZnFJw$UTx89LB8oYTiw9UqkcglzFLmIaZtbr+ZzF1cG3vfcyo=",
  283 + "institution": "",
  284 + "github": "",
  285 + "modified": "2015-01-28T12:45:27.375Z"
  286 + },
  287 + "model": "accounts.user",
  288 + "pk": 2
  289 +},
  290 +{
  291 + "fields": {
  292 + "last_name": "Norris",
  293 + "webpage": "",
  294 + "twitter": "",
  295 + "is_staff": true,
  296 + "user_permissions": [],
  297 + "date_joined": "2015-01-28T12:34:58.770Z",
  298 + "google_talk": "",
  299 + "first_name": "Heisenberg",
  300 + "is_superuser": true,
  301 + "last_login": "2015-01-28T12:35:39.621Z",
  302 + "verification_hash": null,
  303 + "role": "",
  304 + "email": "heisenberg@mail.com",
  305 + "username": "heisenbergnorris",
  306 + "bio": "",
  307 + "needs_update": true,
  308 + "is_active": true,
  309 + "facebook": "",
  310 + "groups": [],
  311 + "password": "pbkdf2_sha256$12000$iiKCMnLZnFJw$UTx89LB8oYTiw9UqkcglzFLmIaZtbr+ZzF1cG3vfcyo=",
  312 + "institution": "",
  313 + "github": "",
  314 + "modified": "2015-01-28T12:45:27.375Z"
  315 + },
  316 + "model": "accounts.user",
  317 + "pk": 3
  318 +},
  319 +{
  320 + "fields": {
  321 + "last_name": "macartur",
  322 + "webpage": "",
  323 + "twitter": "",
  324 + "is_staff": false,
  325 + "user_permissions": [],
  326 + "date_joined": "2015-08-06T19:23:53Z",
  327 + "google_talk": "",
  328 + "first_name": "macartur",
  329 + "is_superuser": false,
  330 + "last_login": "2015-08-10T19:30:49.564Z",
  331 + "verification_hash": null,
  332 + "role": null,
  333 + "email": "macartur.sc@gmail.com",
  334 + "username": "macartur",
  335 + "bio": null,
  336 + "needs_update": false,
  337 + "is_active": true,
  338 + "facebook": "",
  339 + "groups": [],
  340 + "password": "pbkdf2_sha256$15000$nK2UEWhXi0pK$82RfvAo2pyarmmig8C5rjSq9s5CQihi4myKazIuozj0=",
  341 + "institution": null,
  342 + "github": null,
  343 + "modified": "2015-08-06T19:25:34.683Z"
  344 + },
  345 + "model": "accounts.user",
  346 + "pk": 4
  347 +},
  348 +{
  349 + "fields": {
  350 + "real_name": "",
  351 + "user": 1,
  352 + "md5": "edb0e96701c209ab4b50211c856c50c4",
  353 + "address": "admin@mail.com"
  354 + },
  355 + "model": "super_archives.emailaddress",
  356 + "pk": 1
  357 +},
  358 +{
  359 + "fields": {
  360 + "validation_key": "78e8af5ec02c44cba40db50d720b06fc",
  361 + "created": "2015-08-06T19:23:53.473Z",
  362 + "user": 4,
  363 + "address": "macartur.sc@gmail.com"
  364 + },
  365 + "model": "super_archives.emailaddressvalidation",
  366 + "pk": 1
  367 +}
  368 +]
... ...
colab_spb/templates/discussion.html
... ... @@ -30,7 +30,5 @@
30 30 </div>
31 31 </div>
32 32 </div>
33   -
34   -
35 33 {% endif %}
36 34 {% endfor %}
... ...
colab_spb/tests/test_get_list.py
... ... @@ -4,7 +4,7 @@ from django.test import TestCase, Client
4 4  
5 5 class ColabSPB(TestCase):
6 6  
7   - fixtures = ['colab_data.json']
  7 + fixtures = ['test_data.json']
8 8  
9 9 def setUp(self):
10 10 super(ColabSPB, self).setUp()
... ... @@ -15,13 +15,13 @@ class ColabSPB(TestCase):
15 15  
16 16 def test_getlist_without_list(self):
17 17 response = self.client.get("/spb/get_list/?list_name=")
18   - self.assertEqual("x",response.content)
  18 + self.assertEqual("",response.content)
  19 + self.assertEqual(404,response.status_code)
19 20  
20 21 def test_getlist_with_list(self):
21 22 response = self.client.get("/spb/get_list/?list_name=ListA&MAX=5")
22   - self.assertEqual("x",response.content)
  23 + self.assertEqual(5,len(response.context[1]['latest']))
23 24  
24 25 def test_getlist_default_MAX(self):
25 26 response = self.client.get("/spb/get_list/?list_name=ListA")
26   - self.assertEqual("x",response.content)
27   -
  27 + self.assertEqual(7,len(response.context[1]['latest']))
... ...
colab_spb/views.py
1 1 from django.shortcuts import render
  2 +from django.http import HttpResponse
2 3 from django.utils.translation import ugettext as _
3 4 from colab.super_archives.models import MailingList, Thread
4 5 from colab.accounts.utils import mailman
5 6 from colab.accounts.models import User
6 7  
7 8 def get_list(request):
8   - list_name = None
9   - MAX = 0
10   - if request.GET.get('list_name'):
11   - list_name = request.GET['list_name']
12   - if request.GET.get('MAX'):
13   - MAX = request.GET['MAX']
  9 +
  10 + list_name = request.GET.get('list_name',None)
  11 + MAX = request.GET.get('MAX',7)
14 12  
15 13 context = {}
16 14  
... ... @@ -39,4 +37,7 @@ def get_list(request):
39 37 len(mailman.list_users(list_.name)),
40 38 ))
41 39  
  40 + if len(context['lists']) == 0:
  41 + return HttpResponse('',status=404)
  42 +
42 43 return render(request,"discussion.html",context)
... ...
tests/settings.py
... ... @@ -31,7 +31,8 @@ LOGGING = {
31 31  
32 32 HAYSTACK_CONNECTIONS = {
33 33 'default': {
34   - 'ENGINE': 'haystack.backends.solr_backend.SolrEngine',
35   - 'URL': 'http://127.0.0.1:8983/solr'
36   - },
  34 + 'ENGINE': 'haystack.backends.whoosh_backend.WhooshEngine',
  35 + 'PATH': os.path.join(BASE_DIR, 'whoosh_index'),
  36 + }
37 37 }
  38 +
... ...