This repository has been archived on 2023-01-02. You can view files and clone it, but cannot push or open issues or pull requests.
django-pyvows/vows/settings_vows.py

79 lines
2.3 KiB
Python
Raw Normal View History

2011-08-22 20:06:54 +00:00
#!/usr/bin/python
# -*- coding: utf-8 -*-
# django-pyvows extensions
# https://github.com/rafaelcaricio/django-pyvows
# Licensed under the MIT license:
# http://www.opensource.org/licenses/mit-license
# Copyright (c) 2011 Rafael Caricio rafael@caricio.com
from pyvows import Vows, expect
from django_pyvows.context import DjangoContext, DjangoHTTPContext
from django_pyvows.settings_manager import settings_tracker, VowsSettings
2011-08-22 20:06:54 +00:00
DjangoContext.start_environment("sandbox.settings")
2011-08-22 20:06:54 +00:00
@Vows.batch
class SettingsVows(DjangoContext):
class WhenIUseTheSettingsTracker(DjangoContext):
2011-08-22 20:06:54 +00:00
def topic(self):
settings_tracker.install()
class WhenImportFromDjangoConf(DjangoContext):
def topic(self):
from django.conf import settings
return settings
def should_be_the_vows_settings(self, topic):
expect(topic).to_be_instance_of(VowsSettings)
class WhenIImportOnlyConfAndThenUseSettings(DjangoContext):
def topic(self):
from django import conf
return conf.settings
2011-08-22 20:06:54 +00:00
def should_be_the_vows_settings(self, topic):
expect(topic).to_be_instance_of(VowsSettings)
2011-08-22 20:06:54 +00:00
class WhenIImportTheCompletePathAndThenUseSettings(DjangoContext):
2011-08-22 20:06:54 +00:00
def topic(self):
import django.conf
return django.conf.settings
2011-08-22 20:06:54 +00:00
def should_be_the_vows_settings(self, topic):
expect(topic).to_be_instance_of(VowsSettings)
2011-08-22 20:06:54 +00:00
class CannotSayHelloWithoutName(DjangoHTTPContext):
def topic(self):
self.settings.SAY_HELLO_WITHOUT_NAME = False
2011-08-22 20:06:54 +00:00
self.start_server(port=8002)
return self.get('/say/')
def should_be_ok(self, topic):
expect(topic.code).to_equal(200)
def should_ask_for_my_name(self, topic):
expect(topic.read()).to_equal("What's your name?")
class SayHelloWithoutName(DjangoHTTPContext):
def topic(self):
self.settings.SAY_HELLO_WITHOUT_NAME = True
2011-08-22 20:06:54 +00:00
self.start_server(port=8003)
return self.get('/say/')
def should_be_ok(self, topic):
expect(topic.code).to_equal(200)
def should_(self, topic):
expect(topic.read()).to_equal("Hello, guess!")