Skip to content

Commit

Permalink
first commit
Browse files Browse the repository at this point in the history
  • Loading branch information
joshlong committed Feb 23, 2020
0 parents commit 854d571
Show file tree
Hide file tree
Showing 30 changed files with 527 additions and 0 deletions.
6 changes: 6 additions & 0 deletions .idea/inspectionProfiles/profiles_settings.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 6 additions & 0 deletions .idea/misc.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 8 additions & 0 deletions .idea/modules.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 8 additions & 0 deletions .idea/tdd-python.iml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

37 changes: 37 additions & 0 deletions .idea/workspace.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions ch1/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
__pycache__
2 changes: 2 additions & 0 deletions ch1/.idea/.gitignore

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 8 additions & 0 deletions ch1/.idea/ch1.iml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 6 additions & 0 deletions ch1/.idea/inspectionProfiles/profiles_settings.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

7 changes: 7 additions & 0 deletions ch1/.idea/misc.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 8 additions & 0 deletions ch1/.idea/modules.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 6 additions & 0 deletions ch1/.idea/vcs.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

13 changes: 13 additions & 0 deletions ch1/Pipfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
[[source]]
name = "pypi"
url = "https://pypi.org/simple"
verify_ssl = true

[dev-packages]

[packages]
selenium = "*"
django = "*"

[requires]
python_version = "3.7"
65 changes: 65 additions & 0 deletions ch1/Pipfile.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Empty file added ch1/db.sqlite3
Empty file.
36 changes: 36 additions & 0 deletions ch1/functional_tests.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
from selenium import webdriver
import unittest


class NewVisitorTest(unittest.TestCase):

def setUp(self) -> None:
self.browser = webdriver.Firefox()

def tearDown(self) -> None:
self.browser.quit()

def test_can_start_a_list_and_retrieve_it_later(self) -> None:
# Edit has heard about a cool new online to do app. She goes to check out its homepage.
self.browser.get('http://localhost:8000')

# she notices the page title and header mention to-do lists
self.assertIn('To-Do', self.browser.title)
self.fail('Finish the test!')


# she is invited to enter a todo item straight away
# she types 'buy peacock feathers' into a text box (edit's hobby is tying fly-fishing lures)
# when she hits enter, the page updates, and now the page lists
# "1: Buy peacock feathers" as an item in a to-do list
# there is still a text box inviting her to add another item.
# She enters "use peacock feathers to make a fly" (Edith is very methodical)
# the page updates again, and now show sboth items on her list

# Edith wonders whether the site will remember her list.
# Then she sees that the site has generated a unique URL for her -- there is some explanatory text to that effect.
# She visits the URL - her todo list is still there.
# Satisfid, she goes back to sleep

if __name__ == '__main__':
unittest.main(warnings='ignore')
75 changes: 75 additions & 0 deletions ch1/geckodriver.log
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
1582419105351 mozrunner::runner INFO Running command: "/Applications/Firefox.app/Contents/MacOS/firefox-bin" "-marionette" "-foreground" "-no-remote" "-profile" "/var/folders/fk/9ndbvdyd6q320fkhj6m_rd_80000gp/T/rust_mozprofile5JoKVE"
1582419106784 addons.webextension.doh-rollout@mozilla.org WARN Loading extension 'doh-rollout@mozilla.org': Reading manifest: Invalid extension permission: networkStatus
1582419106875 addons.webextension.screenshots@mozilla.org WARN Loading extension 'screenshots@mozilla.org': Reading manifest: Invalid extension permission: mozillaAddons
1582419106875 addons.webextension.screenshots@mozilla.org WARN Loading extension 'screenshots@mozilla.org': Reading manifest: Invalid extension permission: telemetry
1582419106875 addons.webextension.screenshots@mozilla.org WARN Loading extension 'screenshots@mozilla.org': Reading manifest: Invalid extension permission: resource://pdf.js/
1582419106875 addons.webextension.screenshots@mozilla.org WARN Loading extension 'screenshots@mozilla.org': Reading manifest: Invalid extension permission: about:reader*
1582419108543 Marionette INFO Listening on port 63686
1582419108559 Marionette WARN TLS certificate errors will be ignored for this session
JavaScript error: resource://gre/modules/XULStore.jsm, line 66: Error: Can't find profile directory.
1582419249255 mozrunner::runner INFO Running command: "/Applications/Firefox.app/Contents/MacOS/firefox-bin" "-marionette" "-foreground" "-no-remote" "-profile" "/var/folders/fk/9ndbvdyd6q320fkhj6m_rd_80000gp/T/rust_mozprofilezPv1pj"
1582419249650 addons.webextension.doh-rollout@mozilla.org WARN Loading extension 'doh-rollout@mozilla.org': Reading manifest: Invalid extension permission: networkStatus
1582419249732 addons.webextension.screenshots@mozilla.org WARN Loading extension 'screenshots@mozilla.org': Reading manifest: Invalid extension permission: mozillaAddons
1582419249732 addons.webextension.screenshots@mozilla.org WARN Loading extension 'screenshots@mozilla.org': Reading manifest: Invalid extension permission: telemetry
1582419249732 addons.webextension.screenshots@mozilla.org WARN Loading extension 'screenshots@mozilla.org': Reading manifest: Invalid extension permission: resource://pdf.js/
1582419249732 addons.webextension.screenshots@mozilla.org WARN Loading extension 'screenshots@mozilla.org': Reading manifest: Invalid extension permission: about:reader*
1582419251201 Marionette INFO Listening on port 63778
1582419251296 Marionette WARN TLS certificate errors will be ignored for this session
JavaScript error: resource://gre/modules/XULStore.jsm, line 66: Error: Can't find profile directory.
1582419287453 Marionette INFO Stopped listening on port 63778
1582419289316 Marionette INFO Stopped listening on port 63686
1582419295506 mozrunner::runner INFO Running command: "/Applications/Firefox.app/Contents/MacOS/firefox-bin" "-marionette" "-foreground" "-no-remote" "-profile" "/var/folders/fk/9ndbvdyd6q320fkhj6m_rd_80000gp/T/rust_mozprofilepBsxU1"
1582419295968 addons.webextension.doh-rollout@mozilla.org WARN Loading extension 'doh-rollout@mozilla.org': Reading manifest: Invalid extension permission: networkStatus
1582419296049 addons.webextension.screenshots@mozilla.org WARN Loading extension 'screenshots@mozilla.org': Reading manifest: Invalid extension permission: mozillaAddons
1582419296049 addons.webextension.screenshots@mozilla.org WARN Loading extension 'screenshots@mozilla.org': Reading manifest: Invalid extension permission: telemetry
1582419296049 addons.webextension.screenshots@mozilla.org WARN Loading extension 'screenshots@mozilla.org': Reading manifest: Invalid extension permission: resource://pdf.js/
1582419296049 addons.webextension.screenshots@mozilla.org WARN Loading extension 'screenshots@mozilla.org': Reading manifest: Invalid extension permission: about:reader*
1582419297466 Marionette INFO Listening on port 63840
1582419297568 Marionette WARN TLS certificate errors will be ignored for this session
JavaScript error: resource://gre/modules/XULStore.jsm, line 66: Error: Can't find profile directory.
1582419314444 mozrunner::runner INFO Running command: "/Applications/Firefox.app/Contents/MacOS/firefox-bin" "-marionette" "-foreground" "-no-remote" "-profile" "/var/folders/fk/9ndbvdyd6q320fkhj6m_rd_80000gp/T/rust_mozprofileRuTaQu"
1582419314774 addons.webextension.doh-rollout@mozilla.org WARN Loading extension 'doh-rollout@mozilla.org': Reading manifest: Invalid extension permission: networkStatus
1582419314848 addons.webextension.screenshots@mozilla.org WARN Loading extension 'screenshots@mozilla.org': Reading manifest: Invalid extension permission: mozillaAddons
1582419314848 addons.webextension.screenshots@mozilla.org WARN Loading extension 'screenshots@mozilla.org': Reading manifest: Invalid extension permission: telemetry
1582419314848 addons.webextension.screenshots@mozilla.org WARN Loading extension 'screenshots@mozilla.org': Reading manifest: Invalid extension permission: resource://pdf.js/
1582419314848 addons.webextension.screenshots@mozilla.org WARN Loading extension 'screenshots@mozilla.org': Reading manifest: Invalid extension permission: about:reader*
1582419316267 Marionette INFO Listening on port 63902
1582419316301 Marionette WARN TLS certificate errors will be ignored for this session
1582419576815 mozrunner::runner INFO Running command: "/Applications/Firefox.app/Contents/MacOS/firefox-bin" "-marionette" "-foreground" "-no-remote" "-profile" "/var/folders/fk/9ndbvdyd6q320fkhj6m_rd_80000gp/T/rust_mozprofileBaJgC4"
1582419577224 addons.webextension.doh-rollout@mozilla.org WARN Loading extension 'doh-rollout@mozilla.org': Reading manifest: Invalid extension permission: networkStatus
1582419577301 addons.webextension.screenshots@mozilla.org WARN Loading extension 'screenshots@mozilla.org': Reading manifest: Invalid extension permission: mozillaAddons
1582419577301 addons.webextension.screenshots@mozilla.org WARN Loading extension 'screenshots@mozilla.org': Reading manifest: Invalid extension permission: telemetry
1582419577301 addons.webextension.screenshots@mozilla.org WARN Loading extension 'screenshots@mozilla.org': Reading manifest: Invalid extension permission: resource://pdf.js/
1582419577301 addons.webextension.screenshots@mozilla.org WARN Loading extension 'screenshots@mozilla.org': Reading manifest: Invalid extension permission: about:reader*
1582419578720 Marionette INFO Listening on port 64017
1582419578774 Marionette WARN TLS certificate errors will be ignored for this session
1582419582324 Marionette INFO Stopped listening on port 64017
1582419583516 Marionette INFO Stopped listening on port 63840
1582419587329 Marionette INFO Stopped listening on port 63902
1582419922124 mozrunner::runner INFO Running command: "/Applications/Firefox.app/Contents/MacOS/firefox-bin" "-marionette" "-foreground" "-no-remote" "-profile" "/var/folders/fk/9ndbvdyd6q320fkhj6m_rd_80000gp/T/rust_mozprofileIwdrvs"
1582419922604 addons.webextension.doh-rollout@mozilla.org WARN Loading extension 'doh-rollout@mozilla.org': Reading manifest: Invalid extension permission: networkStatus
1582419922699 addons.webextension.screenshots@mozilla.org WARN Loading extension 'screenshots@mozilla.org': Reading manifest: Invalid extension permission: mozillaAddons
1582419922699 addons.webextension.screenshots@mozilla.org WARN Loading extension 'screenshots@mozilla.org': Reading manifest: Invalid extension permission: telemetry
1582419922699 addons.webextension.screenshots@mozilla.org WARN Loading extension 'screenshots@mozilla.org': Reading manifest: Invalid extension permission: resource://pdf.js/
1582419922699 addons.webextension.screenshots@mozilla.org WARN Loading extension 'screenshots@mozilla.org': Reading manifest: Invalid extension permission: about:reader*
1582419924143 Marionette INFO Listening on port 64129
1582419924186 Marionette WARN TLS certificate errors will be ignored for this session
1582419929165 Marionette INFO Stopped listening on port 64129
1582419954304 mozrunner::runner INFO Running command: "/Applications/Firefox.app/Contents/MacOS/firefox-bin" "-marionette" "-foreground" "-no-remote" "-profile" "/var/folders/fk/9ndbvdyd6q320fkhj6m_rd_80000gp/T/rust_mozprofileAFmQFF"
1582419954640 addons.webextension.doh-rollout@mozilla.org WARN Loading extension 'doh-rollout@mozilla.org': Reading manifest: Invalid extension permission: networkStatus
1582419954713 addons.webextension.screenshots@mozilla.org WARN Loading extension 'screenshots@mozilla.org': Reading manifest: Invalid extension permission: mozillaAddons
1582419954713 addons.webextension.screenshots@mozilla.org WARN Loading extension 'screenshots@mozilla.org': Reading manifest: Invalid extension permission: telemetry
1582419954713 addons.webextension.screenshots@mozilla.org WARN Loading extension 'screenshots@mozilla.org': Reading manifest: Invalid extension permission: resource://pdf.js/
1582419954713 addons.webextension.screenshots@mozilla.org WARN Loading extension 'screenshots@mozilla.org': Reading manifest: Invalid extension permission: about:reader*
1582419956109 Marionette INFO Listening on port 64187
1582419956153 Marionette WARN TLS certificate errors will be ignored for this session
1582419959179 Marionette INFO Stopped listening on port 64187
1582420183922 mozrunner::runner INFO Running command: "/Applications/Firefox.app/Contents/MacOS/firefox-bin" "-marionette" "-foreground" "-no-remote" "-profile" "/var/folders/fk/9ndbvdyd6q320fkhj6m_rd_80000gp/T/rust_mozprofile2rRTkT"
1582420184255 addons.webextension.doh-rollout@mozilla.org WARN Loading extension 'doh-rollout@mozilla.org': Reading manifest: Invalid extension permission: networkStatus
1582420184334 addons.webextension.screenshots@mozilla.org WARN Loading extension 'screenshots@mozilla.org': Reading manifest: Invalid extension permission: mozillaAddons
1582420184335 addons.webextension.screenshots@mozilla.org WARN Loading extension 'screenshots@mozilla.org': Reading manifest: Invalid extension permission: telemetry
1582420184335 addons.webextension.screenshots@mozilla.org WARN Loading extension 'screenshots@mozilla.org': Reading manifest: Invalid extension permission: resource://pdf.js/
1582420184335 addons.webextension.screenshots@mozilla.org WARN Loading extension 'screenshots@mozilla.org': Reading manifest: Invalid extension permission: about:reader*
1582420185867 Marionette INFO Listening on port 64288
1582420185873 Marionette WARN TLS certificate errors will be ignored for this session
1582420186023 Marionette INFO Stopped listening on port 64288
Empty file added ch1/lists/__init__.py
Empty file.
3 changes: 3 additions & 0 deletions ch1/lists/admin.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
from django.contrib import admin

# Register your models here.
5 changes: 5 additions & 0 deletions ch1/lists/apps.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
from django.apps import AppConfig


class ListsConfig(AppConfig):
name = 'lists'
Empty file.
3 changes: 3 additions & 0 deletions ch1/lists/models.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
from django.db import models

# Create your models here.
21 changes: 21 additions & 0 deletions ch1/lists/tests.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
from django.http import HttpRequest
from django.test import TestCase

# Create your tests here.
from django.urls import resolve
from lists.views import home_page


class HomePageTest(TestCase):

def test_home_page_returns_correct_html(self) -> None:
request = HttpRequest()
response = home_page(request)
html = response.content.decode('utf8')
self.assertTrue(html.startswith('<html>'))
self.assertIn('<title>To-Do lists</title>', html)
self.assertTrue(html.endswith('</html>'))

def test_root_url_resolves_to_home_page_view(self) -> None:
found = resolve('/')
self.assertEquals(found.func, home_page)
7 changes: 7 additions & 0 deletions ch1/lists/views.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
from django.http import HttpRequest, HttpResponse
from django.shortcuts import render


# Create your views here.
def home_page(request: HttpRequest) -> None:
return HttpResponse('<html><title>To-Do lists</title></html>')
Loading

0 comments on commit 854d571

Please sign in to comment.