<commit_before>package server.web.resources.json;

import static org.junit.Assert.*;

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.junit.After;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;

import com.google.gson.Gson;

import commons.Utente;
import server.backend.GestoreDatiPersistenti;
import server.web.frontend.UserRegistryWebApplication;

public class UserRegJSONTest {
	static GestoreDatiPersistenti g = GestoreDatiPersistenti.getInstance();
	static UserRegJSON userRegJson= new UserRegJSON();
	static Gson gson=new Gson();

	
	@BeforeClass
	public static void setUpBeforeClass() throws Exception {
		SessionFactory sessionFactory = g.getFactory();
		//svuoto le tabelle del DB
		Session session = sessionFactory.openSession();
		Transaction tx = session.beginTransaction();
		session.createNativeQuery("delete from posizioni").executeUpdate();
		session.createNativeQuery("delete from utenti").executeUpdate();
		tx.commit();
		session.close();
		UserRegistryWebApplication.main(null);
	}

	@AfterClass
	public static void tearDownAfterClass() throws Exception {
		SessionFactory sessionFactory = g.getFactory();
		//svuoto le tabelle del DB
		Session session = sessionFactory.openSession();
		Transaction tx = session.beginTransaction();
		session.createNativeQuery("delete from posizioni").executeUpdate();
		session.createNativeQuery("delete from utenti").executeUpdate();
		tx.commit();
		session.close();
	}

	@Before
	public void setUp() throws Exception {
		Utente u1= new Utente("pas", "pas", "<EMAIL>", "Pasquale", "Forgione");
		Utente u2= new Utente("lor", "lor", "<EMAIL>", "Lorenzo", "Goglia");
		Utente u3= new Utente("ant", "ant", "<EMAIL>", "Antonio", "Varone");
		
		userRegJson.addUser(gson.toJson(u1,Utente.class));
		userRegJson.addUser(gson.toJson(u2,Utente.class));
		userRegJson.addUser(gson.toJson(u3,Utente.class));
	}

	@After
	public void tearDown() throws Exception {
	}

	@Test
	public void test() {		
		Utente u1= new Utente("pas", "pas", "<EMAIL>", "Pasquale", "Forgione");
		Utente u2= new Utente("gio", "gio", "<EMAIL>", "Giovanni", "Pirozzi");
		Utente u3= new Utente("a", "a", "<EMAIL>", "A", "A");
	

		//aggiunta utente gi esistente
		String u1S=gson.toJson(u1,Utente.class);
		try{
			gson.fromJson(userRegJson.addUser(u1S),String.class);
			assertTrue("L'utente "+u1.getUsername() +" gi esiste e non dovrebbere essere aggiunto al database!", false);
		}catch (Exception e) {
			assertTrue("L'utente "+u1.getUsername() +" gi esiste e non dovrebbere essere aggiunto al database!", true);
		}
		
		//aggiunta utente con email esistente
		Utente u1e=new Utente("pasquale", "pasquale", "<EMAIL>", "Pasquale", "Forgione");
		String u1eS=gson.toJson(u1e,Utente.class);
		try{
			gson.fromJson(userRegJson.addUser(u1eS),String.class);
			assertTrue("L'utente "+u1e.getUsername() +" ha un email gi esistente e non dovrebbere essere aggiunto al database!", false);
		}catch (Exception e) {
			assertTrue("L'utente "+u1e.getUsername() +" ha un email gi esistente e non dovrebbere essere aggiunto al database!", true);
		}
		

		//aggiunta utente non esistente
		String u2S=gson.toJson(u2,Utente.class);
		try{
			gson.fromJson(userRegJson.addUser(u2S),String.class);
			assertTrue("L'utente "+u2.getUsername() +" non esiste e dovrebbere essere aggiunto al database!", true);
		}catch (Exception e) {
			assertTrue("L'utente "+u2.getUsername() +" non esiste e dovrebbere essere aggiunto al database!", false);
		}

		System.out.println(UserRegistryWebApplication.verifier.getLocalSecrets().toString());
		//check utente esistente password corretta
		assertTrue("L'utente "+u1.getUsername() +" esiste, le credenziali sono corrette e dovrebbe autenticarsi!", gson.fromJson(userRegJson.checkUser(gson.toJson(u1.getUsername()+";"+u1.getPassword(),String.class)), Boolean.class));

		//check utente esistente password sbagliata
		assertTrue("L'utente "+u1.getUsername() +" esiste, ma le credenziali sono sbagliate e non potrebbe autenticarsi!", !gson.fromJson(userRegJson.checkUser(gson.toJson(u1.getUsername()+";ahbfakshvbadfk",String.class)), Boolean.class));
		
		//check utente non esistente
		assertTrue("L'utente "+u3.getUsername() +" non esiste e non potrebbe autenticarsi!", !gson.fromJson(userRegJson.checkUser(gson.toJson(u3.getUsername()+";"+u3.getPassword(),String.class)), Boolean.class));

	}

}
<commit_msg>Bugfix dei bug mostrati nel report di findbugs sulla classe UserRegJSONTest<commit_after>package server.web.resources.json;

import static org.junit.Assert.*;

import javax.persistence.PersistenceException;

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.junit.After;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;

import com.google.gson.Gson;

import commons.Utente;
import server.backend.GestoreDatiPersistenti;
import server.web.frontend.UserRegistryWebApplication;

public class UserRegJSONTest {
	static GestoreDatiPersistenti g = GestoreDatiPersistenti.getInstance();
	static UserRegJSON userRegJson= new UserRegJSON();
	static Gson gson=new Gson();

	
	@BeforeClass
	public static void setUpBeforeClass() throws Exception {
		SessionFactory sessionFactory = g.getFactory();
		//svuoto le tabelle del DB
		Session session = sessionFactory.openSession();
		Transaction tx = session.beginTransaction();
		session.createNativeQuery("delete from posizioni").executeUpdate();
		session.createNativeQuery("delete from utenti").executeUpdate();
		tx.commit();
		session.close();
	}

	@AfterClass
	public static void tearDownAfterClass() throws Exception {
		SessionFactory sessionFactory = g.getFactory();
		//svuoto le tabelle del DB
		Session session = sessionFactory.openSession();
		Transaction tx = session.beginTransaction();
		session.createNativeQuery("delete from posizioni").executeUpdate();
		session.createNativeQuery("delete from utenti").executeUpdate();
		tx.commit();
		session.close();
	}

	@Before
	public void setUp() throws Exception {
		Utente u1= new Utente("pas", "pas", "<EMAIL>", "Pasquale", "Forgione");
		Utente u2= new Utente("lor", "lor", "<EMAIL>", "Lorenzo", "Goglia");
		Utente u3= new Utente("ant", "ant", "<EMAIL>", "Antonio", "Varone");
		
		userRegJson.addUser(gson.toJson(u1,Utente.class));
		userRegJson.addUser(gson.toJson(u2,Utente.class));
		userRegJson.addUser(gson.toJson(u3,Utente.class));
	}

	@After
	public void tearDown() throws Exception {
	}

	@Test
	public void test() {		
		Utente u1= new Utente("pas", "pas", "<EMAIL>", "Pasquale", "Forgione");
		Utente u2= new Utente("gio", "gio", "<EMAIL>", "Giovanni", "Pirozzi");
		Utente u3= new Utente("a", "a", "<EMAIL>", "A", "A");
	

		//aggiunta utente gi esistente
		String u1S=gson.toJson(u1,Utente.class);
		try{
			gson.fromJson(userRegJson.addUser(u1S),String.class);
			assertTrue("L'utente "+u1.getUsername() +" gi esiste e non dovrebbere essere aggiunto al database!", false);
		}catch (PersistenceException e) {
			assertTrue("L'utente "+u1.getUsername() +" gi esiste e non dovrebbere essere aggiunto al database!", true);
		}
		
		//aggiunta utente con email esistente
		Utente u1e=new Utente("pasquale", "pasquale", "<EMAIL>", "Pasquale", "Forgione");
		String u1eS=gson.toJson(u1e,Utente.class);
		try{
			gson.fromJson(userRegJson.addUser(u1eS),String.class);
			assertTrue("L'utente "+u1e.getUsername() +" ha un email gi esistente e non dovrebbere essere aggiunto al database!", false);
		}catch (PersistenceException e) {
			assertTrue("L'utente "+u1e.getUsername() +" ha un email gi esistente e non dovrebbere essere aggiunto al database!", true);
		}
		

		//aggiunta utente non esistente
		String u2S=gson.toJson(u2,Utente.class);
		try{
			gson.fromJson(userRegJson.addUser(u2S),String.class);
			assertTrue("L'utente "+u2.getUsername() +" non esiste e dovrebbere essere aggiunto al database!", true);
		}catch (PersistenceException e) {
			assertTrue("L'utente "+u2.getUsername() +" non esiste e dovrebbere essere aggiunto al database!", false);
		}

		System.out.println(UserRegistryWebApplication.verifier.getLocalSecrets().toString());
		//check utente esistente password corretta
		assertTrue("L'utente "+u1.getUsername() +" esiste, le credenziali sono corrette e dovrebbe autenticarsi!", gson.fromJson(userRegJson.checkUser(gson.toJson(u1.getUsername()+";"+u1.getPassword(),String.class)), Boolean.class));

		//check utente esistente password sbagliata
		assertTrue("L'utente "+u1.getUsername() +" esiste, ma le credenziali sono sbagliate e non potrebbe autenticarsi!", !gson.fromJson(userRegJson.checkUser(gson.toJson(u1.getUsername()+";ahbfakshvbadfk",String.class)), Boolean.class));
		
		//check utente non esistente
		assertTrue("L'utente "+u3.getUsername() +" non esiste e non potrebbe autenticarsi!", !gson.fromJson(userRegJson.checkUser(gson.toJson(u3.getUsername()+";"+u3.getPassword(),String.class)), Boolean.class));

	}

}

{'fraction_non_alphanumeric': 0.14176963812886142, 'fraction_numerical': 0.007281553398058253, 'mean_word_length': 5.655653450807636, 'pattern_counts': {'":': 0, '<': 17, '<?xml version=': 0, '>': 17, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '682588', 'n_tokens_mistral': 3257, 'n_tokens_neox': 3092, 'n_words': 689}