예제 #1
0
 def test_GET_returns_empty_if_no_ipaddresses(self):
     response = self.client.get(reverse('ipaddresses_handler'))
     self.assertEqual(http.client.OK, response.status_code,
                      response.content)
     self.assertEqual([], json_load_bytes(response.content))
예제 #2
0
파일: test_doc.py 프로젝트: zhangrb/maas
 def test_api_doc_accessibility(self):
     self.patch(sys, "stderr", StringIO())
     response = self.client.get(reverse('api-doc'))
     self.assertThat(response, HasStatusCode(http.client.OK))
     # No error or warning are emitted by docutils.
     self.assertEqual("", sys.stderr.getvalue())
예제 #3
0
 def test_read_404_when_bad_id(self):
     uri = reverse("fabric_handler", args=[random.randint(100, 1000)])
     response = self.client.get(uri)
     self.assertEqual(
         http.client.NOT_FOUND, response.status_code, response.content
     )
예제 #4
0
 def test_read_404_when_bad_id(self):
     uri = reverse(
         'discovery_handler', args=[random.randint(10000, 20000)])
     response = self.client.get(uri)
     self.assertThat(response, HasStatusCode(http.client.NOT_FOUND))
예제 #5
0
def get_discovery_uri(discovery):
    """Return a Discovery URI on the API."""
    return reverse(
        'discovery_handler', args=[discovery.discovery_id])
예제 #6
0
파일: test_api.py 프로젝트: tai271828/maas
 def test_get_api_version(self):
     response = self.client.get(reverse("api_version"))
     self.assertThat(response, HasStatusCode(http.client.OK))
     self.assertIn("text/plain", response["Content-Type"])
     self.assertEqual(b"2.0", response.content)
예제 #7
0
파일: test_api.py 프로젝트: tai271828/maas
    def test_simple_user_set_config_forbidden(self):
        response = self.client.post(reverse("maas_handler"),
                                    {"op": "set_config"})

        self.assertEqual(http.client.FORBIDDEN, response.status_code)
예제 #8
0
 def get_url(self, script_name):
     return reverse("commissioning_script_handler", args=[script_name])
예제 #9
0
 def get_url(self):
     return reverse("commissioning_scripts_handler")
예제 #10
0
def get_undefined_space_uri():
    """Return a Space URI on the API."""
    return reverse('space_handler', args=['undefined'])
예제 #11
0
파일: middleware.py 프로젝트: zhangrb/maas
from maasserver.utils.django_urls import reverse
from maasserver.utils.orm import is_retryable_failure
from maasserver.views.combo import MERGE_VIEWS
from provisioningserver.rpc.exceptions import (
    NoConnectionsAvailable,
    PowerActionAlreadyInProgress,
)
from provisioningserver.utils.shell import ExternalProcessError

# 'Retry-After' header sent for httplib.SERVICE_UNAVAILABLE
# responses.
RETRY_AFTER_SERVICE_UNAVAILABLE = 10

PUBLIC_URL_PREFIXES = [
    # Login page: must be visible to anonymous users.
    reverse('login'),
    # Authentication: must be visible to anonymous users.
    reverse('authenticate'),
    reverse('discharge-request'),
    # The combo loaders are publicly accessible.
    reverse('robots'),
    reverse('api-doc'),
    # Metadata service is for use by nodes; no login.
    reverse('metadata'),
    # RPC information is for use by rack controllers; no login.
    reverse('rpc-info'),
    # Prometheus metrics with usage stats
    reverse('metrics'),
    # API meta-information is publicly visible.
    reverse('api_version'),
    reverse('api_v1_error'),
예제 #12
0
 def test_delete_404_when_invalid_id(self):
     self.become_admin()
     uri = reverse('space_handler', args=[random.randint(100, 1000)])
     response = self.client.delete(uri)
     self.assertEqual(http.client.NOT_FOUND, response.status_code,
                      response.content)
예제 #13
0
def get_space_uri(space):
    """Return a Space URI on the API."""
    return reverse('space_handler', args=[space.id])
예제 #14
0
def get_spaces_uri():
    """Return a Space's URI on the API."""
    return reverse('spaces_handler', args=[])
예제 #15
0
파일: test_api.py 프로젝트: tai271828/maas
 def test_api_version_handler_path(self):
     self.assertEqual("/MAAS/api/version/", reverse("api_version"))
예제 #16
0
def get_dnsresourcerecords_uri():
    """Return a DNSResourceRecord's URI on the API."""
    return reverse("dnsresourcerecords_handler", args=[])
예제 #17
0
파일: test_api.py 프로젝트: tai271828/maas
 def test_v1_error_handler_path(self):
     self.assertEqual("/MAAS/api/1.0/", reverse("api_v1_error"))
예제 #18
0
def get_dnsresourcerecord_uri(dnsresourcerecord):
    """Return a DNSResourceRecord URI on the API."""
    return reverse("dnsresourcerecord_handler", args=[dnsresourcerecord.id])
예제 #19
0
파일: test_api.py 프로젝트: tai271828/maas
 def test_handler_path(self):
     self.assertEqual("/MAAS/api/2.0/maas/", reverse("maas_handler"))
예제 #20
0
파일: test_api.py 프로젝트: tai271828/maas
 def test_handler_path(self):
     self.assertEqual("/MAAS/api/2.0/account/", reverse("account_handler"))
예제 #21
0
파일: test_api.py 프로젝트: tai271828/maas
    def test_get_config_requires_name_param(self):
        response = self.client.get(reverse("maas_handler"),
                                   {"op": "get_config"})

        self.assertEqual(http.client.BAD_REQUEST, response.status_code)
        self.assertEqual(b"No provided name!", response.content)
예제 #22
0
파일: test_api.py 프로젝트: tai271828/maas
 def test_sshkeys_handler_path(self):
     self.assertEqual("/MAAS/api/2.0/account/prefs/sshkeys/",
                      reverse("sshkeys_handler"))
예제 #23
0
def get_discoveries_uri():
    """Return a Discovery's URI on the API."""
    return reverse('discoveries_handler', args=[])
예제 #24
0
파일: test_api.py 프로젝트: tai271828/maas
 def test_sshkey_handler_path(self):
     self.assertEqual(
         "/MAAS/api/2.0/account/prefs/sshkeys/key/",
         reverse("sshkey_handler", args=["key"]),
     )
예제 #25
0
def get_discovery_uri_by_specifiers(specifiers):
    """Return a Discovery URI on the API."""
    return reverse(
        'discovery_handler', args=[specifiers])
예제 #26
0
파일: test_api.py 프로젝트: tai271828/maas
 def test_delete_fails_if_not_your_key(self):
     user, keys = factory.make_user_with_keys(n_keys=1)
     response = self.client.delete(
         reverse("sshkey_handler", args=[keys[0].id]))
     self.assertEqual(http.client.FORBIDDEN, response.status_code, response)
     self.assertEqual(1, len(SSHKey.objects.filter(user=user)))
예제 #27
0
파일: test_doc.py 프로젝트: zhangrb/maas
 def test_handler_path(self):
     self.assertEqual('/MAAS/api/2.0/doc/', reverse('api-doc'))
예제 #28
0
파일: test_api.py 프로젝트: tai271828/maas
    def test_anon_set_config_unauthorized(self):
        response = self.client.post(reverse("maas_handler"),
                                    {"op": "set_config"})

        self.assertEqual(http.client.UNAUTHORIZED, response.status_code)
예제 #29
0
def get_fabrics_uri():
    """Return a Fabric's URI on the API."""
    return reverse("fabrics_handler", args=[])
예제 #30
0
 def test_handler_path(self):
     self.assertEqual('/api/2.0/ipaddresses/',
                      reverse('ipaddresses_handler'))