Ejemplo n.º 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))
Ejemplo n.º 2
0
 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())
Ejemplo n.º 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
     )
Ejemplo n.º 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))
Ejemplo n.º 5
0
def get_discovery_uri(discovery):
    """Return a Discovery URI on the API."""
    return reverse(
        'discovery_handler', args=[discovery.discovery_id])
Ejemplo n.º 6
0
 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)
Ejemplo n.º 7
0
    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)
Ejemplo n.º 8
0
 def get_url(self, script_name):
     return reverse("commissioning_script_handler", args=[script_name])
Ejemplo n.º 9
0
 def get_url(self):
     return reverse("commissioning_scripts_handler")
Ejemplo n.º 10
0
def get_undefined_space_uri():
    """Return a Space URI on the API."""
    return reverse('space_handler', args=['undefined'])
Ejemplo n.º 11
0
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'),
Ejemplo n.º 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)
Ejemplo n.º 13
0
def get_space_uri(space):
    """Return a Space URI on the API."""
    return reverse('space_handler', args=[space.id])
Ejemplo n.º 14
0
def get_spaces_uri():
    """Return a Space's URI on the API."""
    return reverse('spaces_handler', args=[])
Ejemplo n.º 15
0
 def test_api_version_handler_path(self):
     self.assertEqual("/MAAS/api/version/", reverse("api_version"))
Ejemplo n.º 16
0
def get_dnsresourcerecords_uri():
    """Return a DNSResourceRecord's URI on the API."""
    return reverse("dnsresourcerecords_handler", args=[])
Ejemplo n.º 17
0
 def test_v1_error_handler_path(self):
     self.assertEqual("/MAAS/api/1.0/", reverse("api_v1_error"))
Ejemplo n.º 18
0
def get_dnsresourcerecord_uri(dnsresourcerecord):
    """Return a DNSResourceRecord URI on the API."""
    return reverse("dnsresourcerecord_handler", args=[dnsresourcerecord.id])
Ejemplo n.º 19
0
 def test_handler_path(self):
     self.assertEqual("/MAAS/api/2.0/maas/", reverse("maas_handler"))
Ejemplo n.º 20
0
 def test_handler_path(self):
     self.assertEqual("/MAAS/api/2.0/account/", reverse("account_handler"))
Ejemplo n.º 21
0
    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)
Ejemplo n.º 22
0
 def test_sshkeys_handler_path(self):
     self.assertEqual("/MAAS/api/2.0/account/prefs/sshkeys/",
                      reverse("sshkeys_handler"))
Ejemplo n.º 23
0
def get_discoveries_uri():
    """Return a Discovery's URI on the API."""
    return reverse('discoveries_handler', args=[])
Ejemplo n.º 24
0
 def test_sshkey_handler_path(self):
     self.assertEqual(
         "/MAAS/api/2.0/account/prefs/sshkeys/key/",
         reverse("sshkey_handler", args=["key"]),
     )
Ejemplo n.º 25
0
def get_discovery_uri_by_specifiers(specifiers):
    """Return a Discovery URI on the API."""
    return reverse(
        'discovery_handler', args=[specifiers])
Ejemplo n.º 26
0
 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)))
Ejemplo n.º 27
0
 def test_handler_path(self):
     self.assertEqual('/MAAS/api/2.0/doc/', reverse('api-doc'))
Ejemplo n.º 28
0
    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)
Ejemplo n.º 29
0
def get_fabrics_uri():
    """Return a Fabric's URI on the API."""
    return reverse("fabrics_handler", args=[])
Ejemplo n.º 30
0
 def test_handler_path(self):
     self.assertEqual('/api/2.0/ipaddresses/',
                      reverse('ipaddresses_handler'))