Does your normal map texture actually use a normal map sampler?
Is the texture actually imported as normal map?
An easy thing to do to test things out is to create a new material that just has a color, and apply that to your object, to see what lighting is really doing. Then you can start adding bits of your shader in, to see where it goes wrong.