Refactored out a new test case DrafTestCase in order to re-use it to set up test directories with draft content, and updated the StatisticsTest to subclass it.
- Legacy-Id: 18783
This commit is contained in:
parent
774e752a54
commit
a708bdf895
|
@ -2,13 +2,11 @@
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
|
|
||||||
|
|
||||||
import os
|
|
||||||
import shutil
|
|
||||||
import datetime
|
|
||||||
import io
|
|
||||||
import lxml
|
|
||||||
import sys
|
|
||||||
import bibtexparser
|
import bibtexparser
|
||||||
|
import datetime
|
||||||
|
import lxml
|
||||||
|
import os
|
||||||
|
import sys
|
||||||
|
|
||||||
if sys.version_info[0] == 2 and sys.version_info[1] < 7:
|
if sys.version_info[0] == 2 and sys.version_info[1] < 7:
|
||||||
import unittest2 as unittest
|
import unittest2 as unittest
|
||||||
|
@ -45,7 +43,7 @@ from ietf.person.models import Person
|
||||||
from ietf.person.factories import PersonFactory
|
from ietf.person.factories import PersonFactory
|
||||||
from ietf.utils.mail import outbox
|
from ietf.utils.mail import outbox
|
||||||
from ietf.utils.test_utils import login_testing_unauthorized, unicontent
|
from ietf.utils.test_utils import login_testing_unauthorized, unicontent
|
||||||
from ietf.utils.test_utils import TestCase
|
from ietf.utils.test_utils import TestCase, DraftTestCase
|
||||||
from ietf.utils.text import normalize_text
|
from ietf.utils.text import normalize_text
|
||||||
from ietf.utils.timezone import datetime_today
|
from ietf.utils.timezone import datetime_today
|
||||||
|
|
||||||
|
@ -339,191 +337,12 @@ class SearchTests(TestCase):
|
||||||
self.assertEqual(q('td.status span.label-warning').text(),"for 15 days")
|
self.assertEqual(q('td.status span.label-warning').text(),"for 15 days")
|
||||||
self.assertEqual(q('td.status span.label-danger').text(),"for 29 days")
|
self.assertEqual(q('td.status span.label-danger').text(),"for 29 days")
|
||||||
|
|
||||||
class DocDraftTestCase(TestCase):
|
class DocDraftTestCase(DraftTestCase):
|
||||||
draft_text = """
|
"""
|
||||||
|
Inherits from DraftTestCase, which provides .setUp() and .tearDown()
|
||||||
|
methods that handles set-up needed by the tests below.
|
||||||
|
|
||||||
|
"""
|
||||||
|
|
||||||
Martian Special Interest Group (mars) P. Man
|
|
||||||
Internet-Draft March 21, 2015
|
|
||||||
Intended status: Informational
|
|
||||||
Expires: September 22, 2015
|
|
||||||
|
|
||||||
|
|
||||||
Optimizing Martian Network Topologies
|
|
||||||
draft-ietf-mars-test-02.txt
|
|
||||||
|
|
||||||
Abstract
|
|
||||||
|
|
||||||
Techniques for achieving near-optimal Martian networks.
|
|
||||||
|
|
||||||
Status of This Memo
|
|
||||||
|
|
||||||
This Internet-Draft is submitted in full conformance with the
|
|
||||||
provisions of BCP 78 and BCP 79.
|
|
||||||
|
|
||||||
Internet-Drafts are working documents of the Internet Engineering
|
|
||||||
Task Force (IETF). Note that other groups may also distribute
|
|
||||||
working documents as Internet-Drafts. The list of current Internet-
|
|
||||||
Drafts is at http://datatracker.ietf.org/drafts/current/.
|
|
||||||
|
|
||||||
Internet-Drafts are draft documents valid for a maximum of six months
|
|
||||||
and may be updated, replaced, or obsoleted by other documents at any
|
|
||||||
time. It is inappropriate to use Internet-Drafts as reference
|
|
||||||
material or to cite them other than as "work in progress."
|
|
||||||
|
|
||||||
This Internet-Draft will expire on September 22, 2015.
|
|
||||||
|
|
||||||
Copyright Notice
|
|
||||||
|
|
||||||
Copyright (c) 2015 IETF Trust and the persons identified as the
|
|
||||||
document authors. All rights reserved.
|
|
||||||
|
|
||||||
This document is subject to BCP 78 and the IETF Trust's Legal
|
|
||||||
Provisions Relating to IETF Documents
|
|
||||||
(http://trustee.ietf.org/license-info) in effect on the date of
|
|
||||||
publication of this document. Please review these documents
|
|
||||||
carefully, as they describe your rights and restrictions with respect
|
|
||||||
to this document. Code Components extracted from this document must
|
|
||||||
include Simplified BSD License text as described in Section 4.e of
|
|
||||||
the Trust Legal Provisions and are provided without warranty as
|
|
||||||
described in the Simplified BSD License.
|
|
||||||
|
|
||||||
This document may contain material from IETF Documents or IETF
|
|
||||||
Contributions published or made publicly available before November
|
|
||||||
10, 2008. The person(s) controlling the copyright in some of this
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Man Expires September 22, 2015 [Page 1]
|
|
||||||
|
|
||||||
Internet-Draft Optimizing Martian Network Topologies March 2015
|
|
||||||
|
|
||||||
|
|
||||||
material may not have granted the IETF Trust the right to allow
|
|
||||||
modifications of such material outside the IETF Standards Process.
|
|
||||||
Without obtaining an adequate license from the person(s) controlling
|
|
||||||
the copyright in such materials, this document may not be modified
|
|
||||||
outside the IETF Standards Process, and derivative works of it may
|
|
||||||
not be created outside the IETF Standards Process, except to format
|
|
||||||
it for publication as an RFC or to translate it into languages other
|
|
||||||
than English.
|
|
||||||
|
|
||||||
Table of Contents
|
|
||||||
|
|
||||||
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
|
|
||||||
2. Security Considerations . . . . . . . . . . . . . . . . . . . 2
|
|
||||||
3. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 2
|
|
||||||
4. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 3
|
|
||||||
5. Normative References . . . . . . . . . . . . . . . . . . . . 3
|
|
||||||
Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 3
|
|
||||||
|
|
||||||
1. Introduction
|
|
||||||
|
|
||||||
This document describes how to make the Martian networks work. The
|
|
||||||
methods used in Earth do not directly translate to the efficent
|
|
||||||
networks on Mars, as the topographical differences caused by planets.
|
|
||||||
For example the avian carriers, cannot be used in the Mars, thus
|
|
||||||
RFC1149 ([RFC1149]) cannot be used in Mars.
|
|
||||||
|
|
||||||
Some optimizations can be done because Mars is smaller than Earth,
|
|
||||||
thus the round trip times are smaller. Also as Mars has two moons
|
|
||||||
instead of only one as we have in Earth, we can use both Deimos and
|
|
||||||
Phobos when using reflecting radio links off the moon.
|
|
||||||
|
|
||||||
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
|
|
||||||
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
|
|
||||||
document are to be interpreted as described in [RFC2119].
|
|
||||||
|
|
||||||
2. Security Considerations
|
|
||||||
|
|
||||||
As Martians are known to listen all traffic in Mars, all traffic in
|
|
||||||
the Mars MUST be encrypted.
|
|
||||||
|
|
||||||
3. IANA Considerations
|
|
||||||
|
|
||||||
There is no new IANA considerations in this document.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Man Expires September 22, 2015 [Page 2]
|
|
||||||
|
|
||||||
Internet-Draft Optimizing Martian Network Topologies March 2015
|
|
||||||
|
|
||||||
|
|
||||||
4. Acknowledgements
|
|
||||||
|
|
||||||
This document is created in the IETF-92 CodeSprint in Dallas, TX.
|
|
||||||
|
|
||||||
5. Normative References
|
|
||||||
|
|
||||||
[RFC1149] Waitzman, D., "Standard for the transmission of IP
|
|
||||||
datagrams on avian carriers", RFC 1149, April 1990.
|
|
||||||
|
|
||||||
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
|
|
||||||
Requirement Levels", BCP 14, RFC 2119, March 1997.
|
|
||||||
|
|
||||||
Author's Address
|
|
||||||
|
|
||||||
Plain Man
|
|
||||||
Deimos street
|
|
||||||
Mars City MARS-000000
|
|
||||||
Mars
|
|
||||||
|
|
||||||
Email: aliens@example.mars
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Man Expires September 22, 2015 [Page 3]
|
|
||||||
"""
|
|
||||||
|
|
||||||
def setUp(self):
|
|
||||||
self.id_dir = self.tempdir('id')
|
|
||||||
self.saved_internet_draft_path = settings.INTERNET_DRAFT_PATH
|
|
||||||
settings.INTERNET_DRAFT_PATH = self.id_dir
|
|
||||||
self.saved_internet_all_drafts_archive_dir = settings.INTERNET_ALL_DRAFTS_ARCHIVE_DIR
|
|
||||||
settings.INTERNET_ALL_DRAFTS_ARCHIVE_DIR = self.id_dir
|
|
||||||
f = io.open(os.path.join(self.id_dir, 'draft-ietf-mars-test-01.txt'), 'w')
|
|
||||||
f.write(self.draft_text)
|
|
||||||
f.close()
|
|
||||||
|
|
||||||
def tearDown(self):
|
|
||||||
settings.INTERNET_ALL_DRAFTS_ARCHIVE_DIR = self.saved_internet_all_drafts_archive_dir
|
|
||||||
settings.INTERNET_DRAFT_PATH = self.saved_internet_draft_path
|
|
||||||
shutil.rmtree(self.id_dir)
|
|
||||||
|
|
||||||
def test_document_draft(self):
|
def test_document_draft(self):
|
||||||
draft = WgDraftFactory(name='draft-ietf-mars-test',rev='01')
|
draft = WgDraftFactory(name='draft-ietf-mars-test',rev='01')
|
||||||
|
|
|
@ -16,7 +16,7 @@ from django.urls import reverse as urlreverse
|
||||||
from django.contrib.auth.models import User
|
from django.contrib.auth.models import User
|
||||||
from django.utils import timezone
|
from django.utils import timezone
|
||||||
|
|
||||||
from ietf.utils.test_utils import login_testing_unauthorized, TestCase
|
from ietf.utils.test_utils import login_testing_unauthorized, DraftTestCase
|
||||||
import ietf.stats.views
|
import ietf.stats.views
|
||||||
|
|
||||||
from ietf.submit.models import Submission
|
from ietf.submit.models import Submission
|
||||||
|
@ -33,7 +33,7 @@ from ietf.stats.utils import get_meeting_registration_data
|
||||||
from ietf.utils.timezone import datetime_today_start
|
from ietf.utils.timezone import datetime_today_start
|
||||||
|
|
||||||
|
|
||||||
class StatisticsTests(TestCase):
|
class StatisticsTests(DraftTestCase):
|
||||||
def test_stats_index(self):
|
def test_stats_index(self):
|
||||||
url = urlreverse(ietf.stats.views.stats_index)
|
url = urlreverse(ietf.stats.views.stats_index)
|
||||||
r = self.client.get(url)
|
r = self.client.get(url)
|
||||||
|
|
|
@ -34,11 +34,13 @@
|
||||||
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
|
|
||||||
import os
|
|
||||||
import re
|
|
||||||
import email
|
import email
|
||||||
import html5lib
|
import html5lib
|
||||||
import inspect
|
import inspect
|
||||||
|
import io
|
||||||
|
import os
|
||||||
|
import re
|
||||||
|
import shutil
|
||||||
import sys
|
import sys
|
||||||
|
|
||||||
from urllib.parse import unquote
|
from urllib.parse import unquote
|
||||||
|
@ -240,5 +242,193 @@ class TestCase(django.test.TestCase):
|
||||||
fn = caller.function + '.html'
|
fn = caller.function + '.html'
|
||||||
with open(fn, 'bw') as f:
|
with open(fn, 'bw') as f:
|
||||||
f.write(r.content)
|
f.write(r.content)
|
||||||
sys.stderr.write(f'Wrote response to {fn}\n')
|
if sys.stderr.isatty():
|
||||||
|
sys.stderr.write(f'Wrote response to {fn}\n')
|
||||||
|
|
||||||
|
class DraftTestCase(TestCase):
|
||||||
|
draft_text = """
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Martian Special Interest Group (mars) P. Man
|
||||||
|
Internet-Draft March 21, 2015
|
||||||
|
Intended status: Informational
|
||||||
|
Expires: September 22, 2015
|
||||||
|
|
||||||
|
|
||||||
|
Optimizing Martian Network Topologies
|
||||||
|
draft-ietf-mars-test-02.txt
|
||||||
|
|
||||||
|
Abstract
|
||||||
|
|
||||||
|
Techniques for achieving near-optimal Martian networks.
|
||||||
|
|
||||||
|
Status of This Memo
|
||||||
|
|
||||||
|
This Internet-Draft is submitted in full conformance with the
|
||||||
|
provisions of BCP 78 and BCP 79.
|
||||||
|
|
||||||
|
Internet-Drafts are working documents of the Internet Engineering
|
||||||
|
Task Force (IETF). Note that other groups may also distribute
|
||||||
|
working documents as Internet-Drafts. The list of current Internet-
|
||||||
|
Drafts is at http://datatracker.ietf.org/drafts/current/.
|
||||||
|
|
||||||
|
Internet-Drafts are draft documents valid for a maximum of six months
|
||||||
|
and may be updated, replaced, or obsoleted by other documents at any
|
||||||
|
time. It is inappropriate to use Internet-Drafts as reference
|
||||||
|
material or to cite them other than as "work in progress."
|
||||||
|
|
||||||
|
This Internet-Draft will expire on September 22, 2015.
|
||||||
|
|
||||||
|
Copyright Notice
|
||||||
|
|
||||||
|
Copyright (c) 2015 IETF Trust and the persons identified as the
|
||||||
|
document authors. All rights reserved.
|
||||||
|
|
||||||
|
This document is subject to BCP 78 and the IETF Trust's Legal
|
||||||
|
Provisions Relating to IETF Documents
|
||||||
|
(http://trustee.ietf.org/license-info) in effect on the date of
|
||||||
|
publication of this document. Please review these documents
|
||||||
|
carefully, as they describe your rights and restrictions with respect
|
||||||
|
to this document. Code Components extracted from this document must
|
||||||
|
include Simplified BSD License text as described in Section 4.e of
|
||||||
|
the Trust Legal Provisions and are provided without warranty as
|
||||||
|
described in the Simplified BSD License.
|
||||||
|
|
||||||
|
This document may contain material from IETF Documents or IETF
|
||||||
|
Contributions published or made publicly available before November
|
||||||
|
10, 2008. The person(s) controlling the copyright in some of this
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Man Expires September 22, 2015 [Page 1]
|
||||||
|
|
||||||
|
Internet-Draft Optimizing Martian Network Topologies March 2015
|
||||||
|
|
||||||
|
|
||||||
|
material may not have granted the IETF Trust the right to allow
|
||||||
|
modifications of such material outside the IETF Standards Process.
|
||||||
|
Without obtaining an adequate license from the person(s) controlling
|
||||||
|
the copyright in such materials, this document may not be modified
|
||||||
|
outside the IETF Standards Process, and derivative works of it may
|
||||||
|
not be created outside the IETF Standards Process, except to format
|
||||||
|
it for publication as an RFC or to translate it into languages other
|
||||||
|
than English.
|
||||||
|
|
||||||
|
Table of Contents
|
||||||
|
|
||||||
|
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
|
||||||
|
2. Security Considerations . . . . . . . . . . . . . . . . . . . 2
|
||||||
|
3. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 2
|
||||||
|
4. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 3
|
||||||
|
5. Normative References . . . . . . . . . . . . . . . . . . . . 3
|
||||||
|
Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 3
|
||||||
|
|
||||||
|
1. Introduction
|
||||||
|
|
||||||
|
This document describes how to make the Martian networks work. The
|
||||||
|
methods used in Earth do not directly translate to the efficent
|
||||||
|
networks on Mars, as the topographical differences caused by planets.
|
||||||
|
For example the avian carriers, cannot be used in the Mars, thus
|
||||||
|
RFC1149 ([RFC1149]) cannot be used in Mars.
|
||||||
|
|
||||||
|
Some optimizations can be done because Mars is smaller than Earth,
|
||||||
|
thus the round trip times are smaller. Also as Mars has two moons
|
||||||
|
instead of only one as we have in Earth, we can use both Deimos and
|
||||||
|
Phobos when using reflecting radio links off the moon.
|
||||||
|
|
||||||
|
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
|
||||||
|
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
|
||||||
|
document are to be interpreted as described in [RFC2119].
|
||||||
|
|
||||||
|
2. Security Considerations
|
||||||
|
|
||||||
|
As Martians are known to listen all traffic in Mars, all traffic in
|
||||||
|
the Mars MUST be encrypted.
|
||||||
|
|
||||||
|
3. IANA Considerations
|
||||||
|
|
||||||
|
There is no new IANA considerations in this document.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Man Expires September 22, 2015 [Page 2]
|
||||||
|
|
||||||
|
Internet-Draft Optimizing Martian Network Topologies March 2015
|
||||||
|
|
||||||
|
|
||||||
|
4. Acknowledgements
|
||||||
|
|
||||||
|
This document is created in the IETF-92 CodeSprint in Dallas, TX.
|
||||||
|
|
||||||
|
5. Normative References
|
||||||
|
|
||||||
|
[RFC1149] Waitzman, D., "Standard for the transmission of IP
|
||||||
|
datagrams on avian carriers", RFC 1149, April 1990.
|
||||||
|
|
||||||
|
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
|
||||||
|
Requirement Levels", BCP 14, RFC 2119, March 1997.
|
||||||
|
|
||||||
|
Author's Address
|
||||||
|
|
||||||
|
Plain Man
|
||||||
|
Deimos street
|
||||||
|
Mars City MARS-000000
|
||||||
|
Mars
|
||||||
|
|
||||||
|
Email: aliens@example.mars
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Man Expires September 22, 2015 [Page 3]
|
||||||
|
"""
|
||||||
|
|
||||||
|
def setUp(self):
|
||||||
|
self.id_dir = self.tempdir('id')
|
||||||
|
self.saved_internet_draft_path = settings.INTERNET_DRAFT_PATH
|
||||||
|
settings.INTERNET_DRAFT_PATH = self.id_dir
|
||||||
|
self.saved_internet_all_drafts_archive_dir = settings.INTERNET_ALL_DRAFTS_ARCHIVE_DIR
|
||||||
|
settings.INTERNET_ALL_DRAFTS_ARCHIVE_DIR = self.id_dir
|
||||||
|
f = io.open(os.path.join(self.id_dir, 'draft-ietf-mars-test-01.txt'), 'w')
|
||||||
|
f.write(self.draft_text)
|
||||||
|
f.close()
|
||||||
|
|
||||||
|
def tearDown(self):
|
||||||
|
settings.INTERNET_ALL_DRAFTS_ARCHIVE_DIR = self.saved_internet_all_drafts_archive_dir
|
||||||
|
settings.INTERNET_DRAFT_PATH = self.saved_internet_draft_path
|
||||||
|
shutil.rmtree(self.id_dir)
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue