I have this directory structure:
FlaskBox
FlaskSample
static
style.css
templates
1.html and others
__init__.py
loginModel.py
test
login_test.py
Code inside __init__.py
from flask import Flask, render_template, url_for, redirect, flash, abort, session, request, jsonify
from random import randint
from FlaskSample.loginModel import Login
app = Flask(__name__)
app.config['SECRET_KEY'] = 'you-will-never-guess'
@app.route('/login', methods=['GET', 'POST'])
def login():
try:
form = Login()
if form.validate_on_submit():
if form.userName.data == 'Admin' and form.password.data == 'Admin':
print(form.userName.data)
session.clear()
session['Username'] = form.userName.data
return redirect(url_for('getMember', name=form.userName.data))
else:
print('error')
flash("Please Provide proper username and password")
return render_template('Login.html', title='Sign In', form=form)
except Exception:
abort(404)
raise
And i want to write test case for login and inside test directory i have a file login_test.py consist of following:
import os
import tempfile
import pytest
from FlaskSample import loginModel
@pytest.fixture
def client(request):
client = app.test_client()
return client
def login(client, username, password):
"""Helper function to login"""
return client.post('/login', data={
'username': username,
'password': password
}, follow_redirects=True)
def test_login_logout(client):
rv = login(client, 'user1', 'wrongpassword')
assert b'Invalid password' in rv.data
But whene i run this using pytest i gives me error Like: ImportError: No module named 'FlaskSample'
Can anyone suggest me what's the issue? And how can i use functions from two different directory
here is my error stack: