def test_url_generator(self): self.app.config['SERVER_NAME'] = 'www.example.com' sitemap = Sitemap(app=self.app) now = datetime.now().isoformat() @self.app.route('/') def index(): pass @self.app.route('/<username>') def user(username): pass @sitemap.register_generator def user(): yield 'http://www.example.com/first' yield {'username': '******'} yield 'user', {'username': '******'} yield 'user', {'username': '******'}, now results = sitemap._generate_all_urls() assert next(results)['loc'] == 'http://www.example.com/first' assert next(results)['loc'] == 'http://www.example.com/second' assert next(results)['loc'] == 'http://www.example.com/third' assert next(results)['loc'] == 'http://www.example.com/fourth' with open( os.path.join(os.path.dirname(__file__), 'data', 'sitemap.xml'), 'r') as f: out = f.read().format(now=now).strip() assert out == sitemap.sitemap()
def test_url_generator(self): self.app.config['SERVER_NAME'] = 'www.example.com' sitemap = Sitemap(app=self.app) now = datetime.now().isoformat() @self.app.route('/') def index(): pass @self.app.route('/<username>') def user(username): pass @sitemap.register_generator def user(): yield 'http://www.example.com/first' yield {'username': '******'} yield 'user', {'username': '******'} yield 'user', {'username': '******'}, now results = sitemap._generate_all_urls() assert next(results)['loc'] == 'http://www.example.com/first' assert next(results)['loc'] == 'http://www.example.com/second' assert next(results)['loc'] == 'http://www.example.com/third' assert next(results)['loc'] == 'http://www.example.com/fourth' with open(os.path.join( os.path.dirname(__file__), 'data', 'sitemap.xml'), 'r') as f: out = f.read().format(now=now).strip() assert out == sitemap.sitemap()
def test_ignore_endpoints(self): self.app.config['SERVER_NAME'] = 'www.example.com' self.app.config['SITEMAP_INCLUDE_RULES_WITHOUT_PARAMS'] = True self.app.config['SITEMAP_IGNORE_ENDPOINTS'] = ['first', 'user'] sitemap = Sitemap(app=self.app) now = datetime.now().isoformat() @self.app.route('/') def index(): pass @self.app.route('/first') def first(): pass @self.app.route('/second') def second(): pass @self.app.route('/<username>') def user(username): pass @sitemap.register_generator def user(): yield 'user', {'username': '******'} yield 'user', {'username': '******'}, now results = [result['loc'] for result in sitemap._generate_all_urls()] assert 'http://www.example.com/' in results assert 'http://www.example.com/first' not in results assert 'http://www.example.com/second' in results assert 'http://www.example.com/third' not in results assert 'http://www.example.com/fourth' not in results
def test_ignore_endpoints(self): self.app.config['SERVER_NAME'] = 'www.example.com' self.app.config['SITEMAP_INCLUDE_RULES_WITHOUT_PARAMS'] = True self.app.config['SITEMAP_IGNORE_ENDPOINTS'] = ['first', 'user'] sitemap = Sitemap(app=self.app) now = datetime.now().isoformat() @self.app.route('/') def index(): pass @self.app.route('/first') def first(): pass @self.app.route('/second') def second(): pass @self.app.route('/<username>') def user(username): pass @sitemap.register_generator def user(): yield 'user', {'username': '******'} yield 'user', {'username': '******'}, now results = [result['loc'] for result in sitemap._generate_all_urls()] assert 'http://www.example.com/' in results assert 'http://www.example.com/first' not in results assert 'http://www.example.com/second' in results assert 'http://www.example.com/third' not in results assert 'http://www.example.com/fourth' not in results