Ejemplo n.º 1
0
class TestPattern(unittest.TestCase):
  def setUp(self):
    self.pattern = None

  def test__get_category_options__returns_non_empty_list(self):
    self.pattern = Pattern('test_pattern')
    self.assertGreater(len(self.pattern.get_category_options()), 0)

  def test__is_valid__valid_pattern_from_category_options_returns_true(self):
    self.pattern = Pattern('test_pattern')
    categories = self.pattern.get_category_options()

    self.pattern = Pattern('-'.join([categories[0], categories[1]]))
    self.assertTrue(self.pattern.is_valid())

  def test__is_valid__invalid_pattern__returns_false(self):
    self.pattern = Pattern('invalid_pattern')
    self.assertFalse(self.pattern.is_valid())

  def test__is_valid__pattern_with_more_than_5_categories__returns_false(self):
    self.pattern = Pattern('test_pattern')
    categories = self.pattern.get_category_options()

    self.pattern = Pattern('-'.join([categories[0]] * 6))
    self.assertFalse(self.pattern.is_valid())

  def test__get_categories__pattern_from_categories__returns_array_of_correct_length(self):
    self.pattern = Pattern('test_pattern')
    categories = self.pattern.get_category_options()

    self.pattern = Pattern('-'.join([categories[0], categories[1]]))
    categories = self.pattern.get_categories()
    self.assertEqual(len(categories), 2)
    [self.assertNotEqual(category, None) for category in categories]

  def test__get_categories__pattern_with_randoms__returns_array_of_correct_length(self):
    self.pattern = Pattern('-'.join(['random'] * 2))
    categories = self.pattern.get_categories()
    self.assertEqual(len(categories), 2)
    [self.assertNotEqual(category, None) for category in categories]
Ejemplo n.º 2
0
def get_response():
    pattern = Pattern(request.args.get("pattern", ""))
    number = int(request.args.get("number", 1))

    response_obj = {}

    if not pattern.is_valid():
        response_obj["error"] = "pattern is invalid"
    else:
        response_obj["data"] = get_qual_ids(pattern, number)

    response = make_response(response_obj)
    return response